说起量化交易入门,很多时候得到的答案都是长长的书单,让人望而却步。 这里,就为新手准备了这篇文章--十行代码带你量化交易入门 数据获取,策略回测,行情链接,交易信号,直接体验整个量化交易的核心流程,立刻学会并跟着做起来! 学习内容:
首先,进入JoinQuant,点击导航栏我的策略,新建策略,进入策略编辑画面,如图。 左侧是编写策略代码,右侧是策略运行结果。我们就在左侧写策略代码。 策略编辑页面 下面教你用10行代码写歌量化交易策略——单股票均线策略 1 确定策略内容与框架若昨日收盘价高出过去20日平均价今天开盘买入股票 若昨日收盘价低于过去20日平均价今天开盘卖出股票 只操作一只股票,很简单对吧,但怎么用代码说给计算机听呢? 想想人是怎么操作的,应该包括这样两个部分
对应代码也是这两个部分
答疑与延伸: · def后面的空格和最后的冒号不能少! · 符号都要用英文输入法! · 为什么这么写?就这么规定的,先别管了。 · handle_data 按天循环时,如此处,其中的操作都是在9:30执行。 · 毫无编程基础?,丝毫不懂变量,函数,if else的,还是先到量化课堂的编程部分学习下python语言吧。 几乎所有策略都基于这个基本的策略框架:先初始化,然后循环操作
2 初始化我们要写设置要交易的股票的代码,比如 兔宝宝(002043)
答疑与延伸: · “g.”是什么?全局变量前都要写”g.”,全局变量就是全局都能用的变量,一般变量只能在该函数下使用。如security不加”g.”,只能在第一部分即initialize里用,不能在第二部分handle_data里用。不懂什么是变量的,到量化课堂的python编程里学习下基础内容,或者问问度娘。 · “XSHE”是什么?股票代码使用时要加后缀,深交所股票代码后缀为 “.XSHE “,上交所股票代码后缀为 “.XSHG”。 · 代码中“#”是什么?”#“后的内容都是注释,是为代码做说明的,不会被计算机当做代码处理。 3 获取收盘价与均价首先,获取昨日股票的收盘价
然后,获取近二十日股票收盘价的平均价
答疑与延伸: 4 判断是否买卖数据都获取完,该做买卖判断了
问题来了,现在该写买卖下单了,但是拿多少钱去买我们还没有告诉计算机,所以每天还要获取账户里现金量。
答疑与延伸: 这句看着有点复杂,先记住吧。然后我们看看买入卖出怎么写。 5 买入卖出
答疑与延伸: · 为什么没有指定交易价格?此策略是按天回测进行的且使用的较为简单的市价单下单方法,交易价格为开盘价(加上滑点) · 无法交易的情况?涨跌停,停牌,T+1制度等无法交易的情况,系统会自动使下单不成交并在日志中发出警告。 6 策略代码写完,进行回测把买入卖出的代码写好,策略就写完了,如下
现在,在策略回测界面右上部,设置回测时间从20140101到20160601,设置初始资金100000,设置回测频率,然后点击运行回测。 设置回测参数 答疑与延伸: · 什么是回测?回测是量化交易策略研究中的关键,是指给定一段时间的历史数据(如此处是20140101到20160601的每日数据),计算机按照所编写的策略进行模拟仿真交易,以测试策略效果好坏。 如果你代码没有问题,就会顺利的进行回测,回测结果如下图: 回测结果 至此,你就完成了一个简单策略的回测了。 答疑与延伸: · 如何根据回测结果评价策略好坏?很初级地讲,有三: · 盈利能力:策略收益与年化收益高,则说明盈利能力强。盈利能力不行说啥都没用。 · 盈利稳定性:最大回撤要低。最大回撤是指最大亏损幅度,50%则意味着历史上看最大亏损率为50%。 · 回测可靠性:交易次数要多。交易次数越多意味着经历了越多次的检验,回测的结果也越可靠。 更多说明见:风险指标说明 · 这个策略回撤大,交易次数少,只交易一只股票,并不靠谱。但是结构简单适合新手入门理解整个流程。 7 建立模拟交易,使策略和行情实时连接自动运行策略写好,回测完成,点击回测结果界面(如上图)右上部红色模拟交易按钮,新建模拟交易如下图。 设置模拟交易参数 写好交易名称,设置初始资金,数据频率,此处是每天,设置好后点提交。 答疑与延伸: · 模拟交易创建成功后,需要等待A股至少开盘一次,才能查看模拟交易结果。 8 开启微信通知,接收交易信号点击聚宽导航栏我的交易,可以看到创建的模拟交易,如下图。 模拟交易列表 点击右边的微信通知开关,将OFF调到ON,按照指示扫描二维码,绑定微信,就能微信接收交易信号了。 当策略买卖操作,微信会收到信号提醒类似下图。 微信实时推送通知 答疑与延伸: · 能不能自动下单?目前不能,国家管制。你可根据信号手动下单买卖,施行策略。 自测与自学
|
|