小白量化《穿云箭集群量化》(4)指标公式写策略
穿云箭量化平台支持中文Python写量化策略,同时也直接支持股票公式指标写策略。下面我们看看是如何实现的。
股票软件的指标公式语法是一样的,不同仅仅是个别函数或绘图函数或绘图命令不相同。
下面我们看看常见的MACD指标公式的源码是怎么描述的。

如果不用公式语法描述指标,在python中需要这样实现macd指标。

我们因此建议大家学习指标公式编写策略,是学习量化实现自动交易的捷径。
初中文化程度用心学习,学会公式编写要1周,学会python语法要1个月(只需要看懂,能复制粘贴修改,不需要自己从头写代码)。很快就能实现全自动交易。
走其他路线学量化,大学文化,全职学会Python要一学期,学会数据结构和算法要一学期,还要学习其他数据库等等,什么时候才能真正实现自己的量化交易?
下面我们看有初中文化程度的小白是如何实现自己的量化交易的。
一、在大智慧、通达信、同花顺、东方财富等软件,编写自编“屠龙剑”指标。(“屠龙剑”指标是演示,不保证能赚钱。)

{屠龙剑}
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
J:=3*K-2*D;
B:CROSS(K,D);
S:CROSS(D,K);

二、在股票软件中测试优化完成,把源代码复制到穿云箭量化的公式面板中。
1、选择一个优质股票池,未来会有70%的股票会上涨。
2、在穿云箭量化的公式面板中,回测和优化。

3、回测完成,当自己满意时,可以通过【生成回测策略】【生成交易策略】按钮,生成Python策略代码。

三、在穿云箭量化的回测面板中可以进行回测和优化。
下面是生成中文指标公式策略。

策略名='回测_自编公式'
导入 pandas 命名为 pd
导入 time
导入 HP_tdx 命名为 htdx   #小白量化行情模块
导入 HP_global 命名为 hg   #建立高级全局数据域hg
从 HP_formula 导入 *  #小白量化公式模块
从 HP_factor 导入 *  #小白量化因子公式及Alpha公式模块
导入 HP_factor 命名为 hf #小白量化因子公式及Alpha公式模块
导入 HP_formula 命名为 gs  #小白量化公式模块
导入 HP_quant 命名为 hpq   #穿云箭量化模块
从 HP_quant 导入 *  #穿云箭量化模块
导入 HP_tdxgs 命名为 tgs  #公式运行模块
mygs=tgs.Tdxgs()函数 初始化(context):context.zh='xiaoba'      #账户context.zhlx='回测'   #账户类型,2个汉字context.firstcash=1000000.00  #初始现金context.cash=context.firstcashcontext.portfolio.available_cash=context.firstcashset_maxdays(500)# 设置我们要操作的股票池g.stocks=hpq.get_universe()hpq.log.info('----策略环境信息-----')输出('量化模块版本: ',hpq.ver)输出('量化模块最后修改日期: ',hpq.mdate)输出('svrip: ',hpq.svrip)输出('svrport: ',hpq.svrport)输出('\n----开始运行策略-----\n')输出('策略名:'+策略名)qhcsj2=time.strftime('%Y%m%d %H:%M:%S',time.localtime(time.time()))输出('开始运行时间:'+qhcsj2)# 设定沪深300作为基准set_benchmark((1,'000001'))# 开启动态复权模式(真实价格)set_option('use_real_price', 真)hg.seemsg=假hg.hqsl=1 #行情数量#hg.sdhq=1 #闪电行情g.MAX=50g.hd=0.003 #滑点g.zzs=-0.05  #止损g.amount=500 #买入数量g.gs='''{自编指标公式,最好用专家系统公式}
{屠龙剑}
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
J:=3*K-2*D;
B:CROSS(K,D);
S:CROSS(D,K);
'''
##Python程序员交流QQ群 17126454
# 每个单位时间(如果按天回测,则每天调用一次,如果按分钟,则每分钟调用一次)调用一次
函数 盘中运行(context, data):序列循环 m,security 在其中 context.universe[0]:如果 security 不是 在其中 data:继续df=data[security].df如果 len(df)<1:继续price = data[security].closeclose=pricehigh= data[security].highlow= data[security].lowpre_close=data[security].pre_close   #前收盘#value = context.portfolio.positions[security].valueacc_avg_cost  = context.portfolio.positions[security].acc_avg_cost #买入成本价 amos=context.portfolio.positions[security].closeable_amount  #可卖数量amos2=context.portfolio.positions[security].total_amount   #总数量mydf=gs.initmydf(df)  ##初始化mydf表mygs.loaddf(mydf)  #加载行情数据mydf=mygs.execgs(g.gs)  #运行指标公式如果 'ENTERLONG' 在其中 mydf.columns:BUY=mydf['ENTERLONG']  #买点否则如果 'BUY' 在其中 mydf.columns:BUY=mydf['BUY']  #买点否则如果 'B' 在其中 mydf.columns:BUY=mydf['B']  #买点如果 'EXITLONG' 在其中 mydf.columns:SELL=mydf['EXITLONG']  #卖点否则如果 'SELL' 在其中 mydf.columns:SELL=mydf['SELL']  #卖点否则如果 'S' 在其中 mydf.columns:SELL=mydf['S']  #卖点如果 BUY.iloc[-1]>0 并且 (amos2==0 或者 amos==0):price2=round(price*(1+g.hd),2)x=order_target(security,g.amount,p=price2)如果 x !=空:hpq.log.info(context.current_dt+" 买入: %s ,数量:%d,买入价格:%.2f,成交资金:%0.2f"%(security,x.amount,price,x.amount*price))amos=context.portfolio.positions[security].closeable_amount  #可卖数量如果 SELL.iloc[-1]>0 并且 amos>0:price2=round(price*(1-g.hd),2)x=order_target(security,0,p=price2)hpq.log.info(context.current_dt+  " 卖出: %s ,数量:%d,卖出价格:%.2f,成交资金:%0.2f"%(security,amos,price2,amos*price2))

四、在穿云箭量化的交易面板中可以进行模拟或实盘交易。

中文Python穿云箭量化平台支持中文Python语法,提供了完整的Python股票软件开发源代码。新版本支持自编指标公式脚本编写策略回测,并有一键生成Python交易策略功能,提供多空雷达,抄底雷达,响尾蛇导弹,巡航到导弹等交易技术。提供期货行情,期货CTP接口,提供MT5交易接口,提供miniQMT接口,以及彩票模块。支持问财选股,支持语音报盘,微信通知等。
用户可以根据自己需求设计出满足自己要求的 自动化交易工具。

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

小白量化《穿云箭集群量化》(4)指标公式写策略相关推荐

  1. 小白学习Spark03-在集群上运行Spark

    03 在集群上运行Spark 3.1 Spark运行架构 3.1.1 驱动器节点 3.1.2 执行器节点 3.1.3 集群管理器 3.1.4 启动Spark程序 3.1.5 小结 3.2 使用spar ...

  2. 适合小白的 Hadoop 集群配置搭建,非常详细

    准备工作: 1.VMware Workstation 14 中安装虚拟机 ,版本为 CentOS7(我搭建的集群为三台,安装一台克隆两台,这里不做解释,可自行百度) 2.JDK1.8 ,下载地址为 h ...

  3. 分布式进阶(十九) 基于集群的动态反馈负载均衡策略

    一.动态WRR调度算法 这是一个目前普遍使用的调度算法,算法在WRR的基础上加入了根据服务器端的负载信息周期性地调整服务器性能权值的过程.其基本思想是:根据CPU利用率.内存利用率.磁盘使用情况.连接 ...

  4. java kafka 集群消费_kafka集群搭建和使用Java写kafka生产者消费者

    转自:http://chengjianxiaoxue.iteye.com/blog/2190488 1 kafka集群搭建 1.zookeeper集群 搭建在110, 111,112 2.kafka使 ...

  5. hadoop namenode启动不了_集群版hadoop安装,写给大忙人看的

    导语 如果之前的单机版hadoop环境安装满足不了你,集群版hadoop一定合你胃口,轻松入手. 目录 集群规划 前置条件 配置免密登录 3.1 生成密匙 3.2 免密登录 3.3 验证免密登录 集群 ...

  6. Hadoop集群下进行集成测试的小策略

    2019独角兽企业重金招聘Python工程师标准>>> 对于maven工程来说,默认的integration test是作为构建周期的一个phase进行的,这对一般的工程进行集成测试 ...

  7. Elasticsearch集群监控指标学习

    学习Elasticsearch有一段时间了,参考网上的一些资料,对于Elasticsearch集群状态一些重要监控指标数据在此进行小结,以加深理解. Elasticsearch集群监控状态指标分三个级 ...

  8. Akka 指南 之「集群指标扩展」

    温馨提示:Akka 中文指南的 GitHub 地址为「akka-guide」,欢迎大家Star.Fork,纠错. 文章目录 集群指标扩展 依赖 简介 指标收集器 指标事件 Hyperic Sigar ...

  9. 高可用 Elasticsearch 集群 21 讲

    课程内容 开篇词 | 如何构建一个高可用.低延迟的 Elasticsearch 集群? 我们从 1.x 开始使用 Elasticsearch ,发展到现在大大小小的集群有 5000+,最大的集群物理主 ...

最新文章

  1. Servlet + JSP(EL表达式)
  2. HttpClient使用方法(包括POST文件)
  3. Springboot-读取核心配置文件及自定义配置文件
  4. 【转】BI 入门: 体系架构及相关技术
  5. 江阴市高中计算机会考知识点,最新!2019年江阴中考体育考试方案发布!速看.........
  6. 如何监视SQL Server索引的总大小
  7. 智能一代云平台(三十五):后端架构再思考
  8. linkedin 爬虫
  9. SpringCloud常用注解
  10. css 链接设计,css将超链接a设计成按钮样式实例
  11. java treetable_00035-layui+java 树形表格treeTable(异步请求)
  12. 服务器上使用nvcc编译多个cu文件,在cmake中使用nvcc编译。cu
  13. 以《简单易懂》的语言带你搞懂无监督学习算法【附Python代码详解】机器学习系列之K-Means篇
  14. word取消英文首字母自动大写问题
  15. 计算机无法识别新挂硬盘,windows10系统添加新硬盘识别不了如何解决
  16. 【Flask项目】项目准备之-容联云短信服务平台使用—发送短信、Flask-limiter限流
  17. NUL与NULL的区别
  18. java计算机毕业设计vue.js开发红酒网站源码+mysql数据库+系统+lw文档+部署
  19. gitlab页脚添加备案号
  20. 一个拖延症的学习之旅

热门文章

  1. java 下载wav 文件怎么打开,java播放wav文件,该如何处理
  2. 迅雷去广告的方法探讨
  3. 字节跳动、美团java后端社招面试题:多线程+分布式+算法+数据库+JVM+微服务
  4. 2011年浙江大学计算机及软件工程研究生机试真题(2)
  5. java门禁系统_java实现门禁系统
  6. 在微信上怎么开店卖东西?
  7. 【Unity2D】制作暂停菜单PauseMenu
  8. ZBrush个性化角色人物建模教程
  9. ffmpeg结构体(7)之AVPacket及其相关函数
  10. 牛顿迭代法开N次方根