用Python编程借助现有量化平台编写股票交易策略和回测分析.docxVIP

用Python编程借助现有量化平台编写股票交易策略和回测分析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Python编程借助现有量化平台编写股票买卖策略和回测分析 大家好,我是Snowball。今日给大家共享的内容是基于Python编程,实现股票买卖相关功能开发,假如读者对股票或金融衍生物买卖不太了解,又比较感爱好的话可自行查询相关材料。 接下来笔者会给大家引见股票买卖中的常见几种买卖策略实现思路和源码编写过程,假如大家听说过量化买卖这个词语的话,对其中的买卖策略或许了解过,或许意思就是在股票、加密货币或者金融衍生物在价格的波动过程中依据其买卖策略进行不断的买入和卖出,不断的套利,降低持仓陈本,来达到收益最大化。 常见的买卖策略有很多种,例如趋势型,网格型,剥头皮,概率法则,高频买卖等,今日次要给大家引见2种低频的买卖策略,高抛低吸网格买卖策略、日内做T策略。其他的买卖策略较简单,读者可自行百度了解,笔者这里推举一个量化买卖网站,仅供参考,米筐量化: /doc/quant/ 二、需求分析实现思路 每个买卖日的股票都会上涨或者下跌,在这个过程中笔者们间或会想针对部分股票进行股价的涨跌幅进行监控,或者自动进行买卖,在这个需求前提下,现有券商、股票分析软件都会带有机器人自动买卖策略功能,大部分都需要收费或者部分策略不能满足本人的需求,笔者这边供应2种实现思路: 1、借助现有量化平台编写策略和回测分析,然后在券商软件层面进行策略执行。 2、本人编写功能代码来监控估价,对股价波动进行特殊处理满足特殊需求。 第一种实现成本较低,但功能受限于平台;其次种实现成本毋庸置疑相对较高,但是规律可以本人把握。 三、借助现有量化平台编写策略和回测分析 这里利用米筐量化实现和分析本人的买卖策略,需要先注册个账号,然后进入到平台-笔者的策略中进行策略编写,平台的功能使用可以参考平台文档。 笔者这里贴出笔者本人写的2种策略代码,这个平台只支持使用Python脚本编写。 1)价差买卖策略 平台截图: 部分代码如下,具体代码可以本人手撸实现,也可以在文末进行猎取: # 你选择的证券的数据更新将会触发此段规律,例如日或分钟历史数据切片或者是实时数据切片更新 def handle_bar(context, bar_dict): ... if newPrice = context.nextSellPrice: (执行高抛买卖,对应价格:{}.format(newPrice)) amount = context.portfolio.positions[context.s1].quantity if amount = context.tradeNumber: (执行高抛买卖,对应数量:{}.format(context.tradeNumber)) order_shares(context.s1, -context.tradeNumber) plot(S, newPrice) elif amount = 100: (执行高抛买卖,对应数量:{}.format(amount)) order_shares(context.s1, -amount) plot(S, newPrice) calc_next_trade_price(context,newPrice) obj = { nextSellPrice:context.nextSellPrice, nextBuyPrice:context.nextBuyPrice, curTradePrice:context.curTradePrice } context.buyTradeList.append(obj) if newPrice = context.nextBuyPrice: (执行低吸买卖,对应价格:{}.format(newPrice)) amount = int(context.portfolio.cash / newPrice / 100.0) * 100 if amount = context.tradeNumber: (执行低吸买卖,对应数量:{}.format(context.tradeNumber)) order_shares(context.s1, context.tradeNumber) plot(B, newP

文档评论(0)

duanbingbing + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档