1.量化交易策略之双均线策略
2.2个量化小技巧,开拓开拓双均线策略盈亏比从1.2提升到1.9(大神请绕行)
3.Python之路 11 双均线策略的均线交易交易3种回测方法
4.量化交易Python实用功能函数(6)
5.vn.py社区精选4 - 双均线策略深度解析
6.量化金融课堂(三)双均线策略
量化交易策略之双均线策略
投资者交易的核心需求就是赚取低买高卖的价差,我们总是量化希望在趋势启动时买入,在趋势反转时卖出。源码这种需求促使趋势定义延伸出固化的双均进场/出场策略,其中双均线交易策略被广泛采用。线系git源码安装方法
一、开拓开拓多周期双均线策略
1. 策略思路
本策略利用双均线模式,均线交易交易即运用不同周期的量化移动平均线,研判买进与卖出时机。源码我们常用日均线和分钟均线作为判断标准,双均计算日均线、线系日均线、开拓开拓5分钟均线和分钟均线,均线交易交易然后根据长短期均线交叉判断多空市场进行交易。量化短周期均线向上穿越长周期均线为金叉,买入;向下穿越为死叉,卖出。双均线策略有助于确认标的目前趋势,但震荡期的交易标的不太适合。
2. 案例演示功能
该案例通过日线和分钟线两种K线数据进行多周期指标计算。
3. 如何使用?
(1)进入平台,打开策略,进入策略编辑器。
(2)在左侧策略列表右击,导入公式,选择策略文件。
(3)点击回测,查看日志输出栏结果。
二、止盈止损双均线策略
1. 策略思路
(1)固定百分比止盈止损:根据建仓价格的一定百分比确定止损/止盈点位,价格超越该价位时平仓。
(2)追踪止盈止损:止损/止盈点随价格变动调整,让盈利跟随价格奔跑。
2. 案例演示功能
该案例基于移动均线交叉趋势跟踪策略,添加了固定百分比和追踪止盈止损模式,通过变量切换,手动设置。情侣记录源码
3. 如何使用?
(1)进入平台,打开策略,进入策略编辑器。
(2)在左侧策略列表右击,导入公式,选择策略文件。
(3)点击回测,查看日志输出栏结果。
目前,我使用的量化交易软件自带双均线策略,投资者可直接使用,无需编写策略,非常方便。
以上是关于双均线策略的详细介绍,希望对您有所帮助,祝您投资顺利!
2个量化小技巧,双均线策略盈亏比从1.2提升到1.9(大神请绕行)
本文将基础的双均线策略提升至新高度,通过引入两个量化技巧,优化信号处理,以提升策略的盈利效率。以下是我们的策略改进过程:
首先,双均线策略通常在震荡市中表现不佳,胜率低、盈亏比不高。我们关注如何提高这两个关键指标。通过在金叉或死叉信号出现后,增加一个观察期,等待价格突破设定的上轨或下轨,比如唐奇安通道,这样可以减少不必要的交易,降低了“总交易次数”。这一调整使得策略的胜率从%提升到了.0%,盈亏比也相应提升至1.。
第二个技巧是引入波动指标ATR,过滤掉假突破,通过“原开仓价位置±N倍ATR”的ubbo 源码学习规则,提高了开仓标准,减少了错误交易。这样,改进后的信号使得交易次数进一步减少到次,胜率提升到了.4%,盈亏比更是达到1.,策略的盈利能力显著增强。
下面是一段示例源码,展示了上述策略的实现细节:
这次的优化得益于Aust小伙伴的交流,也得益于知乎的便捷沟通,让我们有机会共同进步。我是@quantkoala,致力于分享和探讨量化策略,欢迎大家关注我的社群『量化藏经阁』,一起交流学习,共同提升。更多内容请关注我的动态。
最后,别忘了关注我,一起探索更多量化策略的奥秘!
Python之路 双均线策略的3种回测方法
Python中的双均线策略有三种回测方法,但其效果并不理想,且策略稳定性差,已逐渐失效。以下是三种回测方法的简要概述:
1. **向量回测**:首先,使用Python的Tushare获取数据,计算5日和日均线。回测中,遇到快线穿过慢线时产生买入信号,反之则卖出。然而,简单向量回测存在未来函数问题,可能导致策略效果偏高。
2. **事件化回测**:采用事件驱动引擎,确保策略在事件发生时执行,避免未来函数。通过缓存结构逐日更新数据,80端口源码精确计算盈亏,与向量回测结果相似。
3. **基于vnpy框架的回测**:vnpy框架提供了一个实盘交易的环境,编写策略更为规范。虽然回测过程相对复杂,但能确保代码无未来函数,适合多技术指标和多策略的组合,但回测效果并不显著。
通过这些方法,双均线策略作为入门示例,可以帮助理解和实践量化交易,但要实现稳定盈利,需要结合更多过滤器和离场策略。
量化交易Python实用功能函数(6)
量化交易的一大功能是“回测”,通过回测可以直观检验策略的有效性及存在问题。
上篇文章《大牛量化:量化双均线策略回测效果如何?》对双均线策略的回测分析,总结经验,量化交易不再迷茫,将不确定行情转化为可操作交易。
已介绍的代码功能包括:
获取股票上市时间(get_open_date())
判断回测模式(ContextInfo.do_back_test)
设置回测基准(ContextInfo.benchmark)
设定回测系统日志显示级别(ContextInfo.data_info_level)
获取特定记录(get_result_records())
接下来,将分享QMT量化平台的行情函数:
(一) 设置定时器(ContextInfo.run_time(funcName,period,startTime))
实现:设置定时器执行指定函数
参数:funcName回调函数名称,period执行周期,startTime开始时间
示例:ContextInfo.run_time('funcName', '1min', '--')
(二) 创建板块(create_sector(parent_node,sector_name,overwrite))
实现:在指定节点下创建板块
参数:parent_node根节点,sector_name板块名称,overwrite覆盖已有板块
示例:create_sector('root', 'my_sector', True)
(三) 创建板块目录节点(create_sector_folder(parent_node,folder_name,overwrite))
实现:在指定目录下创建节点
参数:parent_node根节点,folder_name节点名称,overwrite覆盖已有节点
示例:create_sector_folder('root_folder', 'my_subfolder', True)
(四) 获取板块目录信息(get_sector_list(node))
实现:获取指定节点下的所有板块信息
参数:node目标节点
示例:get_sector_list('root')
(五) 设置板块成分股(reset_sector_stock_list(sector,stock_list))
实现:更新板块内成分股
参数:sector板块名称,stock_list股票代码列表
示例:reset_sector_stock_list('my_sector', ['AAPL', 'GOOGL'])
vn.py社区精选4 - 双均线策略深度解析
策略原理
双均线策略作为基础的CTA策略,通过短周期与长周期均线的金叉或死叉信号进行交易决策,捕捉市场趋势。策略包含两个关键周期的移动平均线,短周期反映近期市场走势,长周期代表较长时段的趋势。
源码分析
以vn.py项目中的双均线策略源码为例,解析策略实现逻辑和内部代码。
创建策略实例
所有vn.py框架中的CTA策略类(包括内置和自定义)皆基于CTA策略模板类(CtaTemplate)实现子类。模板类为策略设计提供了通用结构,厉害指标源码如同汽车设计图指导汽车制造。CtaTemplate定义了交易函数和策略逻辑框架,使得快速实现策略成为可能。
策略初始化
在策略实例创建时,设置参数和变量。参数由外部指定,变量随策略状态变化动态更新。参数列表中包括策略名称、设置信息等,系统自动从配置文件中加载。变量列表用于界面显示,并在策略停止、收到回报或同步数据时保存状态。
构造函数__init__
构造函数接收CTA引擎、策略名称、标的代码和设置信息作为参数,其中引擎对象自动传入。创建BarGenerator实例用于生成分钟级别K线数据,ArrayManager用于缓存K线数据,支持指标计算。
状态变量初始化
状态变量初始化并非在构造函数中完成,而是在创建策略实例后通过图形界面的初始化按钮触发on_init函数,加载历史数据回放给策略初始化变量。
启动自动交易
点击启动策略按钮,自动调用on_start函数,将交易状态变量设置为True,启动交易流程。确保在界面刷新策略状态相关显示时调用put_event函数。
接收Tick推送
CTP接口每0.5秒推送Tick数据,由事件引擎分发到策略中。Tick数据通过BarGenerator的update_tick函数处理,合成1分钟K线数据,供策略使用。
核心交易逻辑
接收到K线数据后,将数据放入ArrayManager容器中,确保至少个数据后初始化完毕。调用talib库计算技术指标,判断金叉或死叉触发交易逻辑。交易指令由策略模板封装,在on_bar函数中直接调用。
委托回报处理
on_order函数处理委托状态变化,on_trader和on_stop_order函数处理成交回报和停止单回报。双均线策略在这些函数中通常无操作。
停止自动交易
每日交易结束后,通过停止按钮关闭自动交易,策略引擎调整交易状态变量,撤销所有活动委托,并保存变量状态。
CTA交易流程梳理
使用思维导图整理vn.py中策略实现与执行流程,包括从创建策略实例到停止自动交易的完整步骤。
《vn.py全实战进阶》课程介绍
该课程提供节内容,涵盖策略设计、参数回测和实盘自动交易的CTA量化业务流程,适合深入学习vn.py应用。
更多vn.py精华内容
关注公众号以获取更多深入分析和实践技巧。
量化金融课堂(三)双均线策略
在量化金融的课堂上,我们继续探索更复杂的交易策略。前一节课中,定投平安银行的实例显示其并不理想。今天,我们将引入双均线策略,它是一种利用短期和长期移动平均线交叉点来判断买卖时机的策略。
双均线策略的关键在于观察两条不同周期的均线,如5日和日均线。当短期均线从长期均线下方上穿形成金叉,意味着市场看涨,建议买入;反之,短期均线下穿长期均线形成死叉,则表示市场看跌,应选择卖出。要实现这个策略,首先从tushare获取年至今的股票数据,通过Python的dataframe的rolling()函数计算移动平均线,并剔除初始的空值部分。
计算出金叉和死叉后,我们将这些信号转化为0(死叉)和1(金叉)的数值序列,以此为依据调整投资决策。以万元本金为例,根据策略在金叉时买入,死叉时卖出。结果显示,从年到年,运用双均线策略投资平安银行的收益达到了,元,十年的收益率为%,年均收益为4%。尽管这比银行定期存款稍高,但扣除交易成本后,实际收益率甚至可能不如定期存款。
双均线策略虽然操作简便,但策略细节可调整,如均线周期的选择会影响效果。对于初入股市的投资者,掌握这种策略是十分必要的,它提供了一种直观且实用的买卖信号判断方式。
量化交易策略-双均线策略
双均线策略是量化交易中的进阶技巧,是对单均线策略的扩展。核心指标依然是均线,主要应用在趋势跟踪。策略包含两条均线:短期与长期。
短期均线周期较短,而长期均线周期较长。如设置短期为5,长期为;或短期,长期。双均线策略通过短周期均线与长周期均线间的相对位置,来决定买卖时机。
短周期均线从下向上突破长周期均线,表示当前市场趋势向好,是买入信号,即所谓的“金叉”。反之,短周期均线从上向下突破长周期均线,表示市场趋势恶化,是卖出信号,即“死叉”。从下向上突破意味着短期平均价格持续升高,超越长期平均价格,为多头趋势;从上向下突破则表示近期价格持续下滑,导致短期平均价格低于长期平均价格,为空头趋势。
以浪潮信息为例,双均线策略的买卖点清晰可见。通过代码,我们可以实现指标、标的、择时和风控等四个维度的策略理解。指标代码描绘了短期与长期均线。标的代码专注于标的区,通常与单均线策略共享数据源。择时代码涉及交易时机与交易量的选取。风控策略包括止盈止损、资金管理、仓位控制和风险对冲,复杂性较高,此阶段暂不深入。
双均线策略的实施步骤已概述,其效果是否优于单均线策略还需进一步验证。不过,策略的应用需谨慎,股市有风险,投资需谨慎。本内容不构成任何投资建议。草根量化团队致力于提供全面的量化交易策略知识,敬请关注后续更新。
如何分钟在个人PC搭建免费量化交易系统(附详细代码教程)
为了在个人PC上搭建一个免费的量化交易系统,本文提供了一个详细的代码教程。搭建本地交易平台有以下优点:
- 方便调试和代码管理。
- 本地资源充足,尤其适合运行对资源要求较高的机器学习类模型。
- 本地平台方便定制化,不再是黑盒使用。
- 隐私管理较好,方便进行实盘操作。
在本地构建自己的量化交易平台分为几个步骤:
1. **安装所需Python包**:首先下载仓库代码并使用`pip install requirements.txt`命令安装所有必需的库。如果遇到`TA-Lib`安装问题,可从[指定网站](lfd.uci.edu/~gohlke/pyt/)下载离线安装包并按照说明操作。另外,使用`tushare`包获取数据,通过`pip install tushare`安装。注意,对于大量调用或需要获取更详细信息的情况,可能需要付费使用`tushare pro`接口。
2. **运行样例程序**:进入策略样例列表,配置回测条件,包括选择待测试的股票和回测周期,设置tushare的token,并运行回测脚本。回测脚本完成后,可以通过查看日志来获取风险指标,并生成交易K线图。
构建回测框架主要包括:
- **数据及选股**:使用`tushare pro`获取数据,每列数据包含股票代码、交易日期、开盘价、最高价、最低价、收盘价、昨收价、涨跌额、涨跌幅、成交量和成交额。配置回测条件并在`conf/double_ma.yaml`文件中设置待选股票。
- **双均线策略**:采用双均线策略(如日和日均线)进行趋势跟踪。在策略中,如果短周期均线下穿长周期均线时卖出,短周期均线向上穿过长周期均线时买入。
- **账户信息刷新**:通过账户类实时更新账户信息,包括现金、总资本、股票持仓、交易历史等。
- **费用计算**:考虑交易成本、税费和滑点等费用,这些会影响最终的交易收益。
- **回测评估**:计算策略收益、年化收益、Beta(衡量策略收益与基准收益的关系)、Alpha(非系统性风险)、Sharp率、最大回撤、Sortino率、胜率、盈亏比和最大连续亏损等风险指标,以评估策略的性能。
- **注意事项**:回测与实际交易存在差异,如概率性买入失败、滑点问题和交易值的差异等。因此,回测结果应视为模拟情况,实际操作时需谨慎考虑市场变化和策略的适应性。
通过以上步骤,个人可以在本地搭建一个功能完善的量化交易平台,并利用详细的代码教程进行实操。