• 小白量化《穿云箭集群量化》(2)量化策略编写(1)


    小白量化《穿云箭集群量化》(2)量化策略编写(1)
    穿云箭集群量化平台本身就是Python的IDE,可以不用PyCharm、Spyder、Vs CODE等开发工具,可以学习和编写运行Python代码及程序。支持各种源码级别的开源量化平台,以及数据源。
    穿云箭集群量化采用中文关键字和中文变量编写Python程序和策略。
    编辑器操作快捷键
    shift+Tab 增加4个空格
    Ctrl+Tab 减少4个空格
    alt+# 增加#号
    alt+~ 减少#号
    alt+1 减少4个空格
    alt+2 增加4个空格
    alt+3 增加#号
    alt+4 减少#号
    alt+5 开关弹出提示窗口
    alt+6 查找/替换
    alt+7 单色
    alt+8 彩色
    alt+9 中
    alt+0 英
    alt+ - 字缩小
    alt+ + 字放大
    穿云箭集群量化

    支持各种金融模块,例如TA-LIB金融库。同时支持大智慧、通达信、同花顺、东方财富等股票指标公式和文化财经麦语言指标公式系统,并支持多因子指标公式系统。多因子指标公式系统能同时对数千只股票瞬间同步计算,并能获取指标值排序功能。支持Alpha101等自编因子公式,任意创造新的因子公式。
    在这里插入图片描述
    穿云煎量化策略开始,必须导入下列模块,其他模块根据用户需要增加。

    策略名='回测_MACD自动交易'
    import pandas as pd
    import time
    import HP_tdx as htdx   #小白量化行情模块
    import HP_global as hg   #建立高级全局数据域hg
    from HP_formula import *  #小白量化公式模块
    from HP_factor import *  #小白量化因子公式及Alpha公式模块
    import HP_formula as gs  #小白量化公式模块
    import HP_quant as hpq   #穿云箭量化模块
    from HP_quant import *  #穿云箭量化模块
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    量化策略单线程运行流程,见下图。
    在这里插入图片描述
    量化策略多线程运行流程,见下图。
    在这里插入图片描述
    穿云箭量化平台是本地化平台,平台以小白量化一代和小白量化二代为金融模块,加自研很多扩展模块等,由自研中文Python实时控制研究学习平台的中文Python IDE构成。
    我们不提供数据,但是支持用户爬虫采集数据,以及通过第三方提供数据。软件平台服务器只用于正式软件认证,不会获取用户的任何数据。
    软件委托,用户可以采用券商提供交易API,或模拟键盘鼠标操作方式,实现自动交易。
    软件可以借用小白量化二代提供的实时行情库获取行情,以及EASYTRADER进行模拟和实盘交易。
    量化平台的构成是以Python中文IDE和小白量化金融模块,通过Tkiner GUI设计的软件系统。
    一般用户账户信息在context中,data是软件利用小白量化实时行情准备好的实时数据,
    用户可直接使用其中的行情数据。
    如果用户不使用行情数据,可以关闭行情采集功能。需要用户自主获取行数据,任何方式都允许获取数据,例如爬虫网站,外挂其他行情软件采集行情。此时,用户需要增加data数据维护和更新程序,确保策略在运行时,有最新实时行情数据可用。
    initialize函数是用户在策略运行初始化期间的函数,策略根据其中用户设置进行策
    略初始化。例如设置股票池,设置佣金,设置用户账户,设置行情源运行模式,用户不
    设置时,会采用默认方式初始化策略,软件设置永远以用户策略设置优先。
    例如:用户不设置股票池,会使用软件窗口中导入的股票池。
    在initialize函数中,可以设置行情服务器地址,委托功能初始化,函数最后部分可
    以进行选股生成股票池功能。

    def initialize(context):
        #context.istest=True    
        context.zh=''      #账户
        context.zhlx='模拟'   #账户类型,2个汉字
        context.firstcash=200000.00  #初始现金
        context.cash=context.firstcash   #现金
        context.portfolio.available_cash=context.firstcash  #可用现金
        set_maxdays(365) #设置行情K线数量,默认20.       
        # 设置我们要操作的股票池
        g.stocks=hpq.get_universe()  #获取软件穿口上股票池
        hpq.log.info('----策略环境信息-----')
        print('量化模块版本: ',hpq.ver)
        print('量化模块最后修改日期: ',hpq.mdate)
        print('svrip: ',hpq.svrip)
        print('svrport: ',hpq.svrport)
        print('\n----开始运行策略-----\n')
        print('策略名:'+策略名)
        qhcsj2=time.strftime('%Y%m%d %H:%M:%S',time.localtime(time.time()))
        print('开始运行时间:'+qhcsj2)
        
        # 设定指数为基准
        set_benchmark((1,'000001'))
        # 开启动态复权模式(真实价格)
        set_option('use_real_price', True)
        set_times(25)  #设置多少圈读一次持仓
        #pop_universe([(1,'600861'),(0,'000517')])  #需要删除的股票代码池 
    
        hg.seemsg=True  #是否允许输出内部信息
        g.zzs=-0.05  #止损幅度
        hg.hqsl=2  #行情源数量
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    上面是策略初始化函数介绍。
    下篇介绍运行策略函数,技术分析主要采用仿股票公式写算法,这样简洁,与股票软件计算的数值一致 并且k件计算买卖点。
    好了,欢迎继续关注我的博客。

    超越自己是我的每一步!我的进步就是你的进步!

  • 相关阅读:
    聊聊超卖
    pandas将多个Series对象当成数据行进行垂直合并形成dataframe、pandas将多个Series对象当做数据列垂直合并形成dataframe
    如何做自媒体在一个月内赚到2万?
    Pytorch—tensor相关运算
    OAK 3D人工智能相机和RealSense系列相机的对比
    Vue3学习(十八) - TreeSelect 树选择
    如何在 Jenkins CI/CD 流水线中保护密钥?
    数据结构复习笔记6.2:图的存储和遍历
    数据结构和算法的笔记手写2
    MySQL 用 BETWEEN AND 日期查询包含范围边界
  • 原文地址:https://blog.csdn.net/hepu8/article/details/126673899