本文主要是介绍小白量化《穿云箭集群量化》(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 * #穿云箭量化模块
量化策略单线程运行流程,见下图。
量化策略多线程运行流程,见下图。
穿云箭量化平台是本地化平台,平台以小白量化一代和小白量化二代为金融模块,加自研很多扩展模块等,由自研中文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 #行情源数量
上面是策略初始化函数介绍。
下篇介绍运行策略函数,技术分析主要采用仿股票公式写算法,这样简洁,与股票软件计算的数值一致 并且k件计算买卖点。
好了,欢迎继续关注我的博客。
超越自己是我的每一步!我的进步就是你的进步!
这篇关于小白量化《穿云箭集群量化》(2)量化策略编写(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!