'''
超买超卖型技术指标,即随机指标KD
实现K在20左右向上交叉D时,则全仓买入
K在80左右向下交叉D时,全仓卖出
'''import jqdata
from jqlib.technical_analysis import *def initialize(context):"""初始化函数"""# 设定基准set_benchmark('000300.XSHG')# 开启动态复权set_option('use_real_price', True)# 股票类每笔交易时的手续费是:# 买入时佣金万分之三# 卖出时佣金万分之三加千分之一的印税# 每笔交易最低扣5元钱set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=5), type='stock')# 开盘前运行run_daily(before_market_open, time='before_open', reference_security='000300.XSHG')# 开盘时运行run_daily(market_open, time='open', reference_security='000300.XSHG')# 收盘后运行run_daily(after_market_close, time='after_close', reference_security='000300.XSHG')def before_market_open(context):"""开盘前运行函数"""# 输出运行时间 log.info('before_market_open运行时间:'+str(context.current_dt.time()))# 给微信发送消息send_message('美好的一天,祝佻交易顺利')# 保存要损伤的股票g.security = '000001.XSHE'def market_open(context):"""开盘时运行函数"""# 输出运行时间 log.info('market_open运行时间:'+str(context.current_dt.time()))security = g.security# 调用KD函数,获取该函数的K值和D值K1, D1 = KD(security, check_date=context.current_dt, N=9, M1=3, M2=3)# 取得当前的现金cash = context.portfolio.available_cash# 如果K在20左右向上交叉D时,则全仓买入if K1 >= 20 and K1 > D1:# 记录这次买入log.info('买入股票 %s' % (security))# 用所有cash买入股票order_value(security, cash)# 如果K在80左右向下交叉D,并且目前有头寸,则全仓卖出elif K1 < 80 and K1 < D1 and context.portfolio.positions[security].closeable_amount > 0:# 记录这次卖出log.info('卖出股票 %s' % (security))# 卖出所有股票,使这只股票的最终持有量为0order_target(security, 0)def after_market_close(context):"""收盘后运行函数"""# 输出运行时间 log.info('after_market_close运行时间:'+str(context.current_dt.time()))# 得到当天的所有成效记录trades = get_trades()for _trade in trades.values():log.info('成交记录:'+str(_trade))log.info('一天的交易结束,祝你心情愉快')

回测结果:

注:本文章为个人学习笔记,参考了一些书籍与官方教程,不作任何商业用途!

量化交易入门笔记-KD指标策略相关推荐

  1. 量化交易入门之vnpy简单策略编写

    本篇博客将介绍量化交易框架vnpy的简单策略编写.在阅读本博客前的环境准备请看我的上一篇博客.传送门如下: 零基础搭建量化交易框架 一.开发环境 因为python版本兼容有点差,且源码功能都有所变化, ...

  2. 量化交易入门笔记-策略回测与评估

    首先,编写一个简单的"双均线量化策略" 代码如下: def initialize(context):"""双均线量化策略的初始化函数"&qu ...

  3. 量化交易入门笔记-小市值股票策略

    ''' 筛选出市值介于20亿~30亿的股票 选取其中市值最小的三只股票 然后每天开盘买入,持有5个交易日,然后调仓 '''import jqdatadef initialize(context):&q ...

  4. 【学习笔记】优矿量化交易入门(一)策略框架编写

    半自动化优矿 全自动化IB 面向对象 策略框架编写 start = '2017-01-01' # 回测起始时间 end = '2018-01-01' # 回测结束时间 universe = Dynam ...

  5. 量化交易入门阶段:动量策略和均线结合又会怎样?

    在之前的文章<找到真"学霸"--动量策略优化>中跟大家说了一下动量策略可以通过选择那些涨幅排名靠前,并且涨幅大于200%的股票进行策略优化. 在更早之前,和大家讲了很多 ...

  6. 【量化】量化交易入门系列2:经典的量化交易策略(上)

    作者:悠悠做神仙 来源: 恒生LIGHT云社区 上一篇文章 量化交易入门系列1:编程语言与数据源 ,介绍了关于量化交易的基本概念,以及要做量化交易的编程语言选择,和量化交易的一些数据源获取工具.那么, ...

  7. 量化交易入门先看这几种常见的策略分类

    量化交易的本质是对数据的处理和内在规律的探索,本文简要概括了市场上常见的量化策略类型,并给出了对应的例子.希望能帮助大家构建对量化策略的整体认识. 一起开始今天的学习吧~ 涉及到的市场 主要指传统二级 ...

  8. 【量化】量化交易入门系列5:量化交易学习书籍推荐(一)

    作者:悠悠做神仙 来源: 恒生LIGHT云社区 量化交易入门系列,给大家介绍了关于量化交易的数据源获取.编程语言推荐.经典的交易策略,那么本篇将介绍一些比较经典的量化交易书籍. 书籍是人类智慧的结晶, ...

  9. python量化策略源码_【Python量化投资】趋向系统指标策略 ADX、DMI指标用于股票池(附源码)...

    原标题:[Python量化投资]趋向系统指标策略 ADX.DMI指标用于股票池(附源码) [什么是ADX] ADX(average directional indicator) 平均趋向指数,常用的趋 ...

最新文章

  1. 图形交互界面_人机交互界面UI简介
  2. SqlServer 0和空字符串''等价?-----类型的隐式转换问题
  3. Java基本数据类型及所占字节大小
  4. php word excel,PHP 生成word 和 excel 文档
  5. C#IList与List区别
  6. c#的IList,IEnumerable和IEnumerator
  7. c++primer 容器算法整理一
  8. 各种PLC和触摸屏解密软件大全
  9. 扒美女衣服——妄撮游戏实现原理
  10. Android移动应用开发入门
  11. 支付宝支付服务端对接记录(小程序/APP 预支付统一下单及回调处理)
  12. 如何设置U盘为第一启动项,在安装windows操作系统时如何从U盘启动?
  13. IDEA翻译插件出现报错: 更新 TKK 失败,请检查网络连接解决
  14. 微软发布 Visual Studio 2022 版本 17.3:支持.NET MAUI 正式版,提高 C++ 性能
  15. Python挑战游戏( PythonChallenge)闯关之路Level- 5
  16. QT 设置画笔颜色和粗细
  17. JS完成注册页面的省市联动(JS内置对象全局函数,select标签操作)
  18. 算法笔记(六):差分法
  19. 元好问《摸鱼儿-雁邱词》赏析
  20. ANSJ调用word2vec model文件

热门文章

  1. 面向移动互联网和物联网应用的下一代移动通信
  2. 支付宝生活号对接-----(一)授权
  3. SQL Server实现简单查询语句
  4. 手心输入法人名模式导致navicat闪退
  5. java刷题--518零钱兑换II
  6. 【转】超星转PDF最佳方法(对打印机重新审视)
  7. 延迟享受,在最好的年纪请不要选择安逸
  8. Java的Set转成逗号分隔的字符串
  9. PEG包裹碳化硅(SiC)量子点荧光材料
  10. 微信小程序 输入文字用canvas生成公章并转为图片