量化交易——羊驼交易法则
一、羊驼交易法则
1、羊驼交易原理
起始时随机买入N只股票,每天卖掉收益率最差的M只,再随机买入剩余股票池的M只。
总结:随机选股,周期调仓。
原理:物竞天择,找出最强的好股票。(玄学)
2、改进策略
买入历史收益率最低的N只股票,调仓日留下反转程度大的股票,卖掉表现最差的M只股票,再买入收益率最低的M只股票。
二、羊驼交易实现
from jqdata import *# 初始化函数,设定基准等等 def initialize(context):# 设定沪深300作为基准set_benchmark('000300.XSHG')# 开启动态复权模式(真实价格)set_option('use_real_price', True)# 股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣5块钱set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')g.security = get_index_stocks('000300.XSHG')g.period = 30 # 选取30天籁计算收益率g.N = 10 # 总持有10只股票g.change = 1 # 每次只扔出一个,买入一个g.init = True # 标识判断初始情况run_monthly(handle, 1)def get_sorted_stocks(context, stocks):# 给沪深300所有股票按收益增长率排序df = history(g.period, field='close', security_list=stocks).Tprint(df)df['ret'] = (df.iloc[:, len(df.columns)-1] - df.iloc[:,0]) / df.iloc[:,0]df = df.sort_values('ret', ascending=False)return df.index.valuesdef handle(context):if g.init: # 初始化,买入收益增长率最小的N支stocks = get_sorted_stocks(context, g.security)[:g.N]cash = context.portfolio.available_cash * 0.9 / len(stocks)for stock in stocks:order_value(stock, cash)g.init = Falsereturn# 调仓卖掉原有股票中反转最小的股票stocks = get_sorted_stocks(context, context.portfolio.positions.keys())for stock in stocks[-g.change:]:order_target(stock, 0)# 调仓买入新的收益增长率最低的stocks = get_sorted_stocks(context, g.security)for stock in stocks:if len(context.portfolio.positions) >= g.N:breakif stock not in context.portfolio.positions:order_value(stock, context.portfolio.available_cash * 0.9)
执行效果如下:
量化交易——羊驼交易法则相关推荐
- 量化交易 聚宽 羊驼交易策略
量化交易 聚宽 羊驼交易策略 # 导入函数库 from jqdata import *# 初始化函数,设定基准等等 def initialize(context):# 设定沪深300作为基准set_b ...
- 量化交易实盘交易接口你真的了解吗?
市面上对于量化交易实盘交易接口是有几种不同的定义的,简单来说量化投资是一个非常宽泛的概念. 我们今天要讲的量化投资的概念是基于利用计算机技术和数量化的方法来分析数据,然后根据模型发出的信号进行投资的方 ...
- 【重磅推荐】哥大开源“FinRL”: 一个用于量化金融自动交易的深度强化学习库
深度强化学习实验室 官网:http://www.neurondance.com/ 论坛:http://deeprl.neurondance.com/ 编辑:DeepRL 一.关于FinRL 目前,深度 ...
- 对冲、量化、算法交易,你真的懂吗?
说到对冲基金,很多人就会联想到"量化对冲"."程序化交易"等相关词汇. 那么这些概念之间到底有怎样的关联呢? 是不是对冲基金一定要采取对冲或量化投资呢? PAR ...
- 【点宽专栏】虚拟遗憾最小化(CFR)之量化择时与交易
谷歌DeepMind公司研发的AI围棋AlphaGo在去年嗨翻天的时候,让我觉得现在的机器学习学习技术真的很NB,因为自己的专业,私下一直有关注机器学习在量化投资这块的一些实践.昨天看到广发出了一篇名 ...
- EA 的类型/EA 智能交易的介绍(自动化交易/程序化交易/量化交易)
EA 的类型/EA 智能交易的介绍(自动化交易/程序化交易/量化交易) EA 的类型 1.趋势类 最常见也是最成熟的类型, 趋势类. 最为主流的 EA 类型, 一般根据各种指标和策略来进行出入场操作. ...
- 量化投资算法交易设计
算法交易设计 算法交易的第一步核心工作是建立一个冲击成本模型.该模型是几乎所有交易算法的基础,比较知名的冲击成本模型如JP摩根全球交易服务部的I-Star棋型等. 当使用算法交易做交易决策时,最大的风 ...
- 免费的量化交易软件的交易策略?
免费的量化交易软件的交易策略: 一.波段交易 俗称低买高卖,最常用的股票交易方法,也是用的最广的一种股票交易方法:抄底买入抄底买入摸顶卖出摸顶卖出. 二.止盈止损 不会止盈,就无法保证既得的股票收益, ...
- 量化交易系统-算法交易模块设计-10
算法交易概要设计 1 模块结构设计 2 StgAlgoSrv设计 2.1功能定 ...
最新文章
- 大多数人都不知道,人类基因组正在衰败
- 使用es6实现iview的选项卡切换
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- OpenWrt:Linux下生成banner
- java paint调用,求教 如何调用这个paint
- python连接postgis_python连接postgres方法
- python装饰器详解-学习笔记-Python装饰器详解
- Acticles about Interface!
- 瞬时电压示波器matlab,示波器测量瞬时电压的方法与步骤
- turbo c语言编程环境,turbo c(编程软件)
- C语言:甲乙丙丁分糖
- 普拉提瑜伽工作室行业调研报告 - 市场现状分析与发展前景预测
- 在ubuntu20.04中安装MATLAB时常见问题及解决方法
- oracle获取今天是周几,根据DateTime来获取当天是周几(已完结)
- c语言字符串输出有乱码,C语言puts函数输出乱码测试
- 【线代】齐次方程组的解
- 更换新电池对iPhone手机性能的影响实测
- 突发!拼多多程序员自杀
- 七大数据陷阱之技术过失(上):数据整理中的问题
- JS 获取上周、本周、下周的开始日期或者结束日期