本文仅为学习笔记,无法保证正确性,不可作为交易参考。

在市场上有一个被奉为真理的加仓方法——倒金字塔加仓,传说只要按照倒金字塔加仓,一定不会亏损;今天就对这一方法利用宽客平台实现一下。

1、算法逻辑

1、分别选取次新板块和沪深300;

2、过滤上市不满30天股票;

3、为了不让平台珍贵的运算能力浪费在我这无聊的代码运行过程,随机选取50支;

4、初始建仓10%;

5、每当个股持仓亏损达到10%时,加仓一倍;

6、个股浮盈20%,止盈操作;

7、仓位达到90%时,开始对亏损超过15%的股票进行止损;

8、建仓后只平仓或加仓,不再开仓

2、代码实现(以次新板块为例)

# 导入函数库
from jqdata import *
import numpy as np
from datetime import timedelta
# 初始化函数,设定基准等等def initialize(context):g.stock_size = 50g.init_flag = False# 设定沪深300作为基准set_benchmark('000300.XSHG')# 开启动态复权模式(真实价格)set_option('use_real_price', True)# 输出内容到日志 log.info()log.info('初始函数开始运行且全局只运行一次')# 过滤掉order系列API产生的比error级别低的log# log.set_level('order', 'error')g.stocks = get_concept_stocks('GN189')### 股票相关设定 #### 股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣5块钱set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')## 运行函数(reference_security为运行时间的参考标的;传入的标的只做种类区分,因此传入'000300.XSHG'或'510300.XSHG'是一样的)# 开盘时运行run_daily(market_open, time='open', reference_security='000300.XSHG')# 收盘后运行run_daily(after_market_close, time='after_close', reference_security='000300.XSHG')## 开盘时运行函数
def market_open(context):init_percent = 0.1log.info('函数运行时间(market_open):'+str(context.current_dt.time()))security_list = np.array(g.stocks)security_list = [s for s in np.random.choice(security_list, size=100) if (not get_current_data()[s].paused) and ((context.current_dt.date() - get_security_info(s).start_date) > timedelta(30))]security_list = np.array(security_list)cash = context.portfolio.positions_valueall_cash = context.portfolio.total_valueg.pos = cash / all_cashg.target_value = all_cash * init_percentg.per_socket_value = g.target_value / g.stock_sizelog.info('positions: {}'.format(g.pos))if g.init_flag:positions = [s for s in context.portfolio.positions.keys() if not get_current_data()[s].paused]for s in positions:avg = context.portfolio.positions[s].avg_costp = context.portfolio.positions[s].pricepct = (p - avg) / avglog.info('s:{}, pct:{}'.format(s, pct))if pct > 0.2:order_target(s, 0, MarketOrderStyle())if g.pos < 0.9:if pct < -0.10:order(s, context.portfolio.positions[s].total_amount, MarketOrderStyle())else:if pct < -0.15:order_target(s, 0, MarketOrderStyle())else:init_order(context, security_list)# log.info('pos:{}'.format(context.portfolio.positions_value / context.portfolio.total_value))def init_order(context, security_list):for s in np.random.choice(security_list, size=g.stock_size):order_value(s, g.per_socket_value, MarketOrderStyle())# 收盘后运行函数
def after_market_close(context):g.init_flag = Trueorders = get_open_orders()for o in orders.values():cancel_order(o)

3、回测(其中一次回测效果)

次新板块倒金字塔加仓回测

沪深300板块倒金字塔加仓回测

4、总结

1、initialize全局只运行一次;

2、初始化全局变量g时,要考虑运行频率;

量化交易从入门到放弃——体验简单策略熟悉API(次新股倒金字塔加仓)相关推荐

  1. c#量化交易_量化交易从入门到放弃(1)

    准备写些文章介绍下量化交易,这东西其实有点复杂,主要问题是市场的变数太多了.用模型来描述也会遇到很多问题.先从比较简单的技术说起好了. 中国的期货市场比较主流的交易接口是ctp.先简单的说明下ctp. ...

  2. Python量化交易学习入门

    量化交易-Python实现 一.量化交易的流程和概念 1.数据分析I2O流程 2.量化交易和高频交易.自动交易的区别 3.量化交易的流程 二.量化交易的分类 三:常用量化框架 四.一个完整的策略 五. ...

  3. 《Python股票量化交易从入门到实践》随书赠送“回测框架”的使用帮助

    点击:QTYX最新版本使用指南[文字版] 点击:QTYX最新版本使用指南[视频版] 点击: QTYX历史版本更新说明 赠送"回测框架"的目的 为了帮助读者再建立一座从书本知识到实战 ...

  4. python 同花顺thstrader_GitHub - yanjlee/THSTrader: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...

    THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 为什么有这个项目 本来看到了这个easytrader这个项目,不过这个客户端已经过时了(被强制更新 ...

  5. python 同花顺thstrader_GitHub - fswzb/THSTrader: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...

    THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 为什么有这个项目 本来看到了这个easytrader这个项目,不过这个客户端已经过时了(被强制更新 ...

  6. python同花顺自动交易软件下载_GitHub - touzi-platform/THSTrader: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...

    THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 为什么有这个项目 本来看到了这个easytrader这个项目,不过这个客户端已经过时了(被强制更新 ...

  7. 同花顺python_GitHub - nladuo/THSTrader: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...

    THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 暂时无法更新 因为个人时间问题,这个项目搁置已久,断断续续更新过几次,10月份应该时间会闲下来很多 ...

  8. python 同花顺thstrader_GitHub - python8642/THSTrader-2: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...

    THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 为什么有这个项目 本来看到了这个easytrader这个项目,不过这个客户端已经过时了(被强制更新 ...

  9. python 同花顺thstrader_GitHub - skyformat99/THSTrader: 量化交易。同花顺免费模拟炒股软件客户端的python API。(Python3)...

    THSTrader 量化交易.同花顺免费模拟炒股软件客户端的python API.(Python3) 为什么有这个项目 本来看到了这个easytrader这个项目,不过这个客户端已经过时了(被强制更新 ...

最新文章

  1. 对oracle静态参数修改一点研究
  2. 现代网络管理员必备技能
  3. java手机网站开发工具_制作网站常用的网页开发工具有哪些
  4. python元组和列表的联系_Python | 一文看懂Python列表、元组和字符串操作
  5. ui曲线谁是横坐标_【鼎阳硬件智库原创 | 测试测量】关于示波器的幅频特性曲线...
  6. EF-CodeFirst-3搞事
  7. CAD安装失败Failed Installation aborted, Result=1603
  8. windows10批量解压缩文件-用WinRAR
  9. 学前教育怎么利用计算机思维,乐高教育全新推出编程启蒙小火车锻炼孩子计算机思维...
  10. ArcMap 计算面积对应平面坐标系,投影坐标系 2000坐标系 84坐标系
  11. lumion功能介绍丨 建筑动画丨实时渲染
  12. 运动无线耳机推荐,六款运动爱好者必备的耳机
  13. 2015陈奕迅another eason‘s life演唱会歌单
  14. DDG-1000下水
  15. matlab 比较两个函数,Matlab同时拟合两个函数 - 数学 - 小木虫 - 学术 科研 互动社区...
  16. 蒲公英内测分发平台解读2022年黑灰产APP诈骗
  17. 读取工程下的文档 统计重复的姓名 并按次数排序 java_java并打印出重复的姓名和重复的次数,并按重复次数排序...
  18. 数字SOC设计之低功耗设计入门(一)——低功耗设计目的与功耗的类型
  19. 侦探推理小程序,烧脑小程序源码
  20. del , pop 和 remove

热门文章

  1. 《DL/T 976-2017 带电作业用工具、装置和设备预防性试验规程》中的样品名称及试验项目...
  2. 线性代数:仿射变换图形矫正
  3. 【JS】问号点和双问号的用法
  4. 推荐一些适合新手练手的C/C++项目
  5. WM_NCHITTEST消息欺骗Windows(一)
  6. chatgpt赋能Python-python2张图片合成1张图片
  7. ai模型去除图像衍射光斑_生命的智慧:奥林巴斯率先开启显微镜的AI人工智能时代...
  8. php同时接受get post,PHP自学get和post数据同时提交的情形
  9. LDA求解:Gibbs采样算法
  10. 读《摄影手册 玛格南成员大卫 赫恩谈艺录》