- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十行代码学会量化交易–从数据获取到接发信号
十行代码学会量化交易–从数据获
取到接发信号
学习内容 :
学会写一个简单的量化交易策略
理解策略的基本框架
学会建立连接实盘的模拟交易 ,并使其自动发送交易的信号到微信
首先 ,进入JoinQuant ,点击导航栏我的策略 ,新建策略 ,进入策略编辑画面 ,如图。
左侧是编写策略代码 ,右侧是策略运行结果。我们就在左侧写策略代码。
下面教你用10行代码写个量化交易策略——单股票均线策略
1 确定策略内容与框架
若昨日收盘价高出过去20日平均价今天开盘买入股票
若昨日收盘价低于过去20日平均价今天开盘卖出股票
只操作一只股票 ,很简单对吧 ,但怎么用代码说给计算机听呢 ?
想想人是怎么操作的 ,应该包括这样两个部分
1. 既然是单股票策略 ,事先决定好交易哪一个股票。
2. 每天看看昨日收盘价是否高出过去20日平均价 ,是的话开盘就买入 ,不是开盘就卖
出。每天都这么做 ,循环下去。
对应代码也是这两个部分
def initialize(context):
用来写最开始要做什么的地方
def handle_data(context,data):
用来写每天循环要做什么的地方
答疑与延伸 :
def后面的空格和最后的冒号不能少 !
符号都要用英文输入法 !
为什么这么写 ?就这么规定的 ,先别管了。
handle_data 按天循环时 ,如此处 ,其中的操作都是在9:30执行。
毫无编程基础 ?,丝毫不懂变量 ,函数 ,if else的 ,还是先到量化课堂的编程
部分学习下python语言吧。
几乎所有策略都基于这个基本的策略框架 :先初始化 ,然后循环操作
1 初始化 ,即最开始要做的事情 ,如选定股票 ,设置变量、参数等等
2 周期循环 :即每个周期要做的事情 ,如计算指标 ,买入卖出等 ,周期可能是分钟 ,天等 ,
本文策略的周期是一天。当你要做一些盘中短线操作的时候 ,周期就要调成分钟 ,先别着急
会遇到的。
2 初始化
我们要写设置要交易的股票的代码 ,比如 兔宝宝 (002043 )
def initialize(context):
g.security = 002043.XSHE# 存入兔宝宝的股票代码
答疑与延伸 :
“g.”是什么 ?全局变量前都要写”g.” ,全局变量就是全局都能用的变量 ,一般
变量只能在该函数下使用。如security不加”g.”,只能在第一部分即initialize里
用 ,不能在第二部分handle_data里用。不懂什么是变量的 ,到量化课堂的
python编程里学习下基础内容 ,或者问问度娘。
“XSHE”是什么 ? 股票代码使用时要加后缀 ,深交所股票代码后缀为 “.XSHE
“ ,上交所股票代码后缀为 “.XSHG”。
代码中“#”是什么 ?”#“后的内容都是注释 ,是为代码做说明的 ,不会被计算机
当做代码处理。
3 获取收盘价与均价
首先 ,获取昨日股票的收盘价
# 用法:变量 = data[股票代码].close
last_price = data[g.security].close# 取得最近日收盘价,命名为last_price
然后 ,获取近二十日股票收盘价的平均价
# 用法:变量 = data[股票代码].mavg(天数,‘close’)
# 获取近二十日股票收盘价的平均价,命名为average_price
average_price = data[g.security].mavg(20, close)
答疑与延伸 :
data是什么 ?
data[股票代码]后面除了平均价.mavg还能接什么?
4 判断是否买卖
数据都获取完 ,该做买卖判断了
# 如果昨日收盘价高出二十日平均价, 则买入,否则卖出
if last_price average_price:
买入
elif last_price average_price:
卖出
问题
文档评论(0)