量化投资入门教程二——双均线策略

合集下载

量化交易策略:MACD双均线交叉策略

量化交易策略:MACD双均线交叉策略

概述该策略基于MACD指标,利用MACD指标中的MACD线和Signal线的交叉来判断交易信号。

当MACD 线上穿Signal线时产生做多信号,当MACD线下穿Signal线时产生做空信号。

同时使用前一根K线的最低价作为多头止损位,前一根K线的最高价作为空头止损位。

止盈位设置为4倍ATR(平均真实波幅)。

策略原理MACD指标由DIF线和DEA线组成,DIF线是快速均线和慢速均线的差值,DEA线是DIF线的移动平均线。

当DIF线上穿DEA线时,表明股价已经脱离超卖区域并开始向上,产生做多信号;当DIF线下穿DEA线时,表明股价已经脱离超买区域并开始向下,产生做空信号。

同时,策略使用前一根K线的最低价和最高价分别作为多头止损位和空头止损位,以控制风险。

止盈位设置为4倍ATR,以获取更多利润。

优势分析1.MACD指标能够较好地捕捉股价的趋势变化,特别是中长期趋势。

2.止损位的设置能够有效控制风险,避免单笔交易的损失过大。

3.止盈位的设置能够让利润充分扩大,提高策略收益。

4.代码逻辑清晰,容易理解和实现。

风险分析1.MACD指标有滞后性,可能错过最佳建仓时机。

2.止损位的设置相对简单,可能无法应对某些极端行情。

3.止盈位的设置可能导致错过更大的利润空间。

4.缺乏仓位管理,风险控制能力有限。

优化方向1.可以考虑加入其他指标,如RSI、布林带等,以提高信号准确性。

2.可以优化止损位的设置,如使用ATR或百分比止损,以更好地控制风险。

3.可以优化止盈位的设置,如使用移动止盈或部分止盈,以获取更多利润。

4.可以加入仓位管理,如基于风险比例调整仓位大小,以提高风险控制能力。

总结该策略基于MACD指标,通过MACD线和Signal线的交叉来判断交易信号,同时使用前一根K线的最低价和最高价作为止损位,止盈位设置为4倍ATR。

策略逻辑清晰,容易实现,能够较好地捕捉股价趋势。

但是,该策略也存在一些风险,如指标滞后、止损位设置简单等。

双均线策略代码

双均线策略代码

双均线策略代码1. 引言双均线策略是一种常见的技术分析方法,通常被用于股票、期货和外汇市场。

本文将介绍双均线策略的原理,并给出一份Python代码实现。

2. 双均线策略原理双均线策略基于均线的交叉信号进行交易决策。

具体而言,该策略使用两种不同周期的均线,通常是短期均线和长期均线。

当短期均线向上穿过长期均线时,被称为“金叉”,意味着市场趋势向上,投资者可以考虑买入;相反,当短期均线向下穿过长期均线时,被称为“死叉”,意味着市场趋势向下,投资者可以考虑卖出。

3. 双均线策略代码实现下面是一个使用Python编写的双均线策略代码实现示例:import pandas as pdimport numpy as np# 读取数据data = pd.read_csv('data.csv')# 计算短期均线data['short_ma'] = data['close'].rolling(window=10).mean()# 计算长期均线data['long_ma'] = data['close'].rolling(window=30).mean()# 计算均线交叉信号data['signal'] = np.where(data['short_ma'] > data['long_ma'], 1, -1)# 计算交易信号data['position'] = data['signal'].diff()# 回测策略data['return'] = data['position'] * data['close'].pct_change()# 计算累计收益率data['cum_return'] = (1 + data['return']).cumprod()# 输出策略表现print('总收益率:', data['cum_return'].iloc[-1] - 1)print('年化收益率:', (data['cum_return'].iloc[-1])**(250/len(data))-1)print('最大回撤:', min(data['cum_return'])-max(data['cum_return'].cummax()))4. 代码解释•第1行导入需要使用的库。

双均线ddi指标

双均线ddi指标

双均线DDI指标是一种用于股票和期货交易的技术分析工具。

它结合了双均线系统和DDI指标,以帮助交易者判断市场的趋势和进出场时机。

双均线系统是通过两条不同周期的移动平均线来判断市场的趋势。

通常,短期均线位于长期均线之上时,市场被认为是处于上升趋势;短期均线位于长期均线之下时,市场被认为是处于下降趋势。

DDI指标,全称为方向标准离差指数,是通过观察一段时间内股价的波动情况来计算向上和向下的比例。

DDI指标通常以柱状线的形式表示,并通过分析该指标的走势来判断是买入还是卖出的信号。

双均线DDI指标策略的基本思路是:
1.定义两条不同周期的移动平均线,用于判断K线走势趋势。

2.定义DDI指标,用于判断进仓时机。

3.设置默认的止盈止损比例,以实现稳定盈利和及时止损。

在应用双均线DDI指标时,交易者需要注意以下几点:
1.长期均线的选择应根据个人的投资目标和风险承受能力来定,
一般选择200日均线作为参考。

2.短期均线的选择应比长期均线短,通常选择50日均线或30日
均线作为参考。

3.在使用DDI指标时,应结合其他技术分析工具和市场走势进行
综合判断。

4.DDI指标并非万能的,交易者应根据自己的风险承受能力和投
资目标来制定合理的交易策略。

总之,双均线DDI指标是一种实用的技术分析工具,可以帮助交易者更好地把握市场的趋势和进出场时机。

但同时,交易者也需要注意市场风险,制定合理的交易计划并严格执行。

量化投资入门教程二——双均线策略

量化投资入门教程二——双均线策略

量化投资入门教程二——双均线策略在量化投资中,常用的投资策略之一就是双均线策略。

双均线策略是通过计算短期均线和长期均线的交叉情况,来确定买入和卖出的时机。

下面将介绍如何使用双均线策略进行投资。

首先,我们需要选择合适的均线周期。

一般来说,短期均线周期一般为10日或20日,长期均线周期一般为50日或200日。

选择均线周期时,可以根据市场的特点和个人的投资风格来确定。

接下来,我们需要计算短期均线和长期均线的数值。

均线的计算方法是将一定周期内的股价相加,再除以周期的天数。

例如,10日均线是将过去10天的收盘价相加,再除以10。

长期均线的计算方法也是类似的。

然后,我们需要根据短期均线和长期均线的交叉情况来确定买入和卖出的时机。

当短期均线从下方向上穿过长期均线时,为买入信号;当短期均线从上方向下穿过长期均线时,为卖出信号。

通过交叉信号来进行买卖操作,可以提高投资的效果。

另外,我们还可以加入其他的指标或条件来进行进一步的判断。

例如,可以结合相对强弱指数(RSI)或者随机指标(KDJ)等技术指标,来判断股票当前的买入和卖出力度。

这样可以提高策略的准确性和稳定性。

需要注意的是,双均线策略是一种趋势跟踪策略,适用于市场有明显趋势的时候。

当市场没有明显趋势时,双均线策略的交易信号可能会产生较多的错误信号,导致交易频繁和盈利率下降。

最后,我们需要进行历史回测和实盘测试,来验证我们的双均线策略是否有效。

历史回测是通过回测软件,将策略应用到过去的股票数据上,来模拟交易过程和盈利情况。

实盘测试是将策略应用到真实的交易环境中,通过实际交易来验证策略的可行性。

综上所述,双均线策略是一种简单且常用的量化投资策略。

通过计算短期均线和长期均线的交叉情况,我们可以确定买入和卖出的时机。

在使用双均线策略时,需要选定合适的均线周期,并可以结合其他的技术指标来进行进一步的判断。

最后,需要进行历史回测和实盘测试来验证策略的可行性。

希望以上内容对初学者有所帮助。

手把手教学百年一人双均线交易方法设置方法

手把手教学百年一人双均线交易方法设置方法

手把手教学百年一人双均线交易方法设置方法一、均线的定义1、均线是什么均线是一种投资者经常用的一项重要的技术指标,它是将某一段时间的收盘价之和除以该周期所得到的一根平均线。

假如一个星期内有5个交易日,就是把5个交易日的收盘价全部加起来除去5得出的平均数,当然,10日、20日等也是这样算的。

2、均线有哪些、不同颜色均线根据不同的选取参数,其作用和反应情况也有区别。

常用的参数有5日、10日、20日、30日、60日、120日、250日。

常用的颜色有白色(5日线)、黄色(10日线)、紫色(20日线)、绿色(30日线)、灰色(60日线)、蓝色(120日线)、橙色(250日),颜色和日线并不是固定搭配的,股民可以用自己喜欢的颜色随意设定。

二、均线的简单应用1、如何在走势图看均线(1)添加均线:我们首先调整到股票软件界面接着按MA 键就会出现如下图再按回车键即可添加(2)查看均线:2、分析时用哪条均线是一个时间区间内平均价格和趋势的反映,均线可以将过去一个时段内价格总体运行情况直观地呈现给我们。

每根线的作用和意义都不尽相同,下面简单跟大家说说它们的关系吧(1)5日均线(攻击线):股票价格上升突破攻击线,且攻击线向上则短期内看多。

同样的状况下,假如说5日均线向下股价跌破均线则短期看空。

(2)10日均线(行情线):盘中的操盘线越来越高的时候,股价突破操盘线,就代表着波段性中线上涨,反之下跌。

(3)20日均线(辅助线):就是用于协助10日均线的,不仅对价格运行力度和价格趋势角度进行推进,而且能对二者进行修正,稳定价格趋势运行方向。

若在盘中辅助线呈持续向上的攻击状态之时,当价格高于辅助线,这就表示波段性中线行情从这时候就开始看多了,反之看空。

百年一人讲解均线系统

百年一人讲解均线系统

百年一人讲解均线系统98年10月开始深入研究均线系统,并由此开始着手建立自己的数学模式和操作体系。

均线系统对于建立操作体系非常重要.1。

简单介绍均线的概念和研究均线过程中可能遇到的问题均线计算时的处理方法:算术平均和加权移动平均(但这两种处理方法都存在周期性和一些权重的问题)。

根据多年研究的结果,简单的算术平均就足够了。

对于中长期趋势来说,使用何种价格(开盘、收盘、最高和最低价)来计算均线的差别不大。

均线位置:均线所放位置不同,会产生不同的模式。

例如:向后或左右移动;或移中平均线(由此产生著名的薛斯通道理论).双均线系统(两条均线):均线的个数可以有一条、两条乃至多条。

建议使用两条均线,因为过多均线会使得体系过于复杂,同时存在操作界面的友好性问题。

均线周期的设置:没有最佳的周期(交易市场、品种、时段不同)。

均线的时间滞后性(有利有弊):对于判定趋势、跟随趋势有好处;同时,存在整体(趋势)和局部的关系(损失局部、看清整体).2.研究均线的方法均线研究的四个要素:周期、大小、方向和拐点.-—02年发表的文章《如何研究均线》格兰威尔移动平均线八大法则:重点是看问题的视角3。

均线的实战方法:介绍双均线系统(建议使用)均线可以解决跟随趋势的问题,同时可以实现定量化的研究双均线系统的好处:简单明了,容易建立模式。

同时,利于交易界面的设置.双均线周期设置:(64,256)-—见图60.gif(建议所有周期使用固定的设置)参数设置要符合倍数关系和分数关系:数术上存在内在的对称性和规律性设置(64,256)的原因:每年的交易天数在243天左右,256有年线的意思;64是256的四分之一。

同时还有其他深意。

通过变换周期来解决观察短期均线的问题。

图30。

gif(30分钟图)和图15.gif(15分钟图):在下跌趋势中,金叉一般是卖点。

建立体系就是建立规则。

例如:以60分钟建立交易规则时,可以认为60分钟的256线向下就是趋势向下(也可以用30、15分钟等为标准)。

双均线策略总结

双均线策略总结

双均线策略总结一、策略概述双均线策略是一种相对简单的技术分析方法,通过将两条不同周期的移动平均线进行比较,来判断市场趋势,并进行买卖决策。

该策略适用于各种市场和时间周期,是许多交易者常用的策略之一。

二、双均线的定义1. 短期移动平均线(Short-term Moving Average):通常使用5日、10日或20日等短期周期计算出来的移动平均线。

2. 长期移动平均线(Long-term Moving Average):通常使用50日、100日或200日等长期周期计算出来的移动平均线。

三、买入信号和卖出信号1. 金叉(Golden Cross):当短期移动平均线从下向上穿过长期移动平均线时,称为金叉。

这是一个买入信号。

2. 死叉(Dead Cross):当短期移动平均线从上向下穿过长期移动平均线时,称为死叉。

这是一个卖出信号。

四、优点和缺点1. 优点:(1)简单易懂:该策略只需要计算两个指标,容易理解和操作。

(2)适用性广:该策略适用于各种市场和时间周期。

(3)有效性高:该策略在一定程度上能够捕捉市场趋势,并且在短期内能够获得一定的收益。

2. 缺点:(1)滞后性强:由于移动平均线是根据过去的价格计算出来的,所以存在一定的滞后性,无法准确预测未来走势。

(2)容易受到噪音干扰:在市场波动较大的情况下,容易产生错误信号,导致交易失败。

五、风险控制1. 止损设置:在进行交易时,应该设置止损点位,以避免出现大幅亏损。

2. 仓位控制:为了降低风险,应该合理控制仓位大小,不要过度杠杆化。

六、总结双均线策略是一种相对简单有效的技术分析方法,在实践中被广泛应用。

但是需要注意的是,在使用该策略时需要结合其他技术指标和基本面分析来进行综合判断,并且要注意风险控制。

两条均线粘合选股公式

两条均线粘合选股公式

两条均线粘合选股公式股票投资是一门艺术与科学的结合,寻找有效的选股策略是投资者追求稳定盈利的关键之一。

而均线粘合选股公式是一种常见的技术指标,能够帮助投资者识别股票的买入时机。

本文将详细介绍两条均线粘合选股公式的原理和应用。

一、均线粘合选股公式的原理均线粘合是指短期均线与长期均线之间的趋势粘合程度。

一般来说,当短期均线上穿长期均线时,表明股票价格的强势将延续;反之,当短期均线下穿长期均线时,表明股票价格的弱势将延续。

均线粘合选股公式通过分析两条均线的相对位置和角度,来确定股票的买入时机。

二、简单移动平均线(SMA)选股公式简单移动平均线(Simple Moving Average,SMA)是最常见的均线类型之一。

它通过计算一段时间内股票价格的平均值,来反映股票价格的整体趋势。

1. 参数设置在使用SMA选股公式时,我们需要确定两条均线的参数。

一般来说,短期均线的周期应设置为较小的值,例如5或10天;而长期均线的周期应设置为较大的值,例如20或30天。

2. 选股信号当短期均线从下方穿越长期均线时,形成“金叉”信号,表示股票价格即将上涨,投资者可以考虑买入;反之,当短期均线从上方穿越长期均线时,形成“死叉”信号,表示股票价格即将下跌,投资者可以考虑卖出。

三、指数移动平均线(EMA)选股公式指数移动平均线(Exponential Moving Average,EMA)在均线粘合选股中也非常常见。

与SMA不同,EMA的计算更加重视近期的数据,因此它能更快地反映股票价格的短期走势。

1. 参数设置在使用EMA选股公式时,我们同样需要确定两条均线的参数。

一般来说,短期均线的周期可以设置为5或10天,长期均线的周期可以设置为20或30天。

2. 选股信号与SMA类似,当短期均线从下方穿越长期均线时,形成“金叉”信号,表示股票价格即将上涨,投资者可以考虑买入;反之,当短期均线从上方穿越长期均线时,形成“死叉”信号,表示股票价格即将下跌,投资者可以考虑卖出。

双均线策略最佳参数

双均线策略最佳参数

双均线策略最佳参数什么是双均线策略?双均线策略是一种基于市场趋势的技术分析方法。

它使用两条不同时间周期的移动平均线(MA)来判断股票价格的走势,并决定何时买入或卖出股票。

当短期MA线(如20日线)向上穿过长期MA线(如50日线),说明股票价格有上涨趋势。

反之,当短期MA线向下穿过长期MA线,说明股票价格有下跌趋势。

在双均线策略中,我们根据MA线的交叉点决定何时进场、出场和止损,以获取较好的收益。

如何确定双均线策略的最佳参数?在双均线策略中,我们需要选择两个MA线的时期,以便快速反应价格变动趋势。

一般来说,较短周期的MA线更容易受市场短期波动的影响,变化较快;较长周期的MA线更平滑,更慢受波动的影响,态度稳定。

因此,我们需要选择适当的时期,以平衡交易时机的准确性和操作的稳定性。

在选择时期时,一般有以下几个方面需要考虑:1.股票类型和行业不同类型和行业的股票对MA线的反应通常不同。

我们需要根据股票类型和行业的特点选择适当的时期。

举个例子,如果您在交易科技股,可能需要较短的MA线时期,如5日和15日线,来捕捉短期波动。

然而,如果您在交易传统的制造业股票,可能需要较长的MA线时期,如30日和60日线,因为制造业股票通常波动较慢。

2.交易目标您的交易目标也会影响您选择的MA线时期。

如果您想在短期内获取更高的回报率,可能需要选择较短的MA线时期;如果您想长期持有股票并获得较稳定的收益,可能需要选择较长的MA线时期。

3.市场特征市场特征和趋势也会影响您选择MA线的时期。

如果市场波动较大,您可能需要选择较短的MA线时期,来捕捉市场的短期波动。

如果市场波动较小,您可能需要选择较长的MA线时期,来获取较稳定的收益。

4.实践经验最后,选择MA线时期的最佳方法是不断实践和试错。

您需要做很多模拟交易来确定最佳参数,并记录您的交易结果以评估策略的有效性。

总结:双均线策略是一种基于市场趋势的技术分析方法。

选择MA线时期时,应考虑股票类型和行业、交易目标、市场特征和实践经验等因素。

双均线(MA20MA80)波段交易系统分享(仅供新手参考和启蒙)

双均线(MA20MA80)波段交易系统分享(仅供新手参考和启蒙)

双均线(MA20MA80)波段交易系统分享(仅供新手参考和启蒙)期货是个好东西!低投入,高收益。

投入几千元、几万元,便可以一夜翻倍。

以至于很多人抱着一夜暴富的梦想冲进期货市场。

但跟一些新开户的朋友交流后,发现很多人的交易理念存在较大的问题。

比如有:基本面型。

研究宏观经济数据,产业经济,侃侃而谈。

这是把做股票的毛病带到期货市场。

猜顶摸底型。

感觉涨多了,空一下;感觉跌多了,多一下。

全凭感觉型。

也真有,全凭感觉做,错了硬抗。

一把梭型。

看见一根大阴线,追空,第二天就是一根中阳反抽。

……这些都是做期货的大忌。

为了不再重复解释,也为了更多的人能轻松地进入期货市场,分享一个简单的双均线交易系统,仅供参考和启蒙。

这套系统,不需要懂支撑阻力,也不需要懂技术形态,甚至成交量也可以不懂,简单到刚入门的人都可以用。

听到均线,先别忙着嗤之以鼻。

虽然很多人喜欢裸k交易,很多年以前我也是。

但裸k会让人对级别产生迷思,均线则能很好起到过滤作用。

放心,这套均线交易系统,不会叫你看金叉死叉,也不会叫你看均线支撑压力。

一,设计原理顺势而为吗?截断亏损让利润奔跑吗?当然是。

技术分析的祖师爷查尔斯·道把趋势分为——涨跌盘,大中小。

涨跌盘,容易理解,也很明确。

真正的难点,是大中小。

在任何时点,观察角度不同,每个人看到的趋势级别是不同的。

也就是,上涨、下跌、盘整是同时存在的。

很多时候做错的原因,就是你所认为的下降趋势,不过是高级别趋势的一个小回撤而已。

为了防止做错方向,引入两条均线:一条趋势线,指明长期趋势,防止做错方向。

一条操盘线,界定中期趋势,做到持仓不慌,且规避大幅回撤。

这套策略操作的买点其实就是,大趋势之上的,中期趋势回调结束。

这是速度最快,趋势最稳定的时候。

二,交易系统均线设置:ma20,ma80操作级别:建议15分钟,1小时,日线。

实际上所有级别都适用,但均线设置会有所不同。

如在1分钟,可以把ma80改为ma100基本原则:ma80向上且ma20在ma80上,只多不空。

双均线交易操作方法

双均线交易操作方法

双均线交易操作方法
双均线交易策略是一种常见的技术分析方法,通过选择两条不同周期的移动平均线,以交叉点为信号点进行交易。

以下是一种常见的双均线交易操作方法:
1. 选择两条不同周期的移动平均线,通常选择较短周期的均线作为快线,较长周期的均线作为慢线。

例如,可以选择5日均线作为快线,20日均线作为慢线。

2. 观察快线和慢线的交叉点。

当快线从下方穿过慢线,形成“金叉”信号,为买入信号点;当快线从上方穿过慢线,形成“死叉”信号,为卖出信号点。

3. 当触发买入信号时,可以进行开仓操作,买入股票或其他交易品种;当触发卖出信号时,可以进行平仓操作,卖出已持有的股票或其他交易品种。

4. 可以设置适当的止损和止盈条件,以控制风险和获得盈利。

例如,可以设置一个固定的百分比止损和止盈点,或者以移动平均线指标为基础设置动态的止损和止盈点。

5. 在交易中,应严格执行自己的交易计划,不盲目追求过高的收益,同时保持风险控制的意识。

需要注意的是,双均线交易方法是一种简单而常见的技术分析方法,但并不意味着一定能获得盈利。

在实际应用中,还需要结合其他的技术指标和市场因素进行
综合分析,并不断优化和调整自己的交易策略。

量化投资学习(一)

量化投资学习(一)

量化投资学习(⼀)⼀、双均线策略通过建⽴m天移动平均线,n天移动平均线,则两条线必有交点。

若m>n,n天平均线上穿越m天均线则为买⼊点,反之为卖出点。

该策略基于不同天数均线的交叉点,抓住股票的强势和弱势时刻,进⾏交易。

⾦叉和死叉由时间短的均线(如上图蓝⾊的线)在下⽅向上穿越时间长⼀点的均线(如上图黄⾊的线),为“⾦叉”,反之为“死叉”。

双均线⾦叉的时候,表明股票很强势,反之很弱势,强势时买⼊,弱势时卖出。

⼆、PEG估值法计算每只股票的PEG值,并排序,取PEG值最⼩的前n⽀股票,作为待买股票即可。

1. EPS(Earnings Per Share)表⽰每股收益(⼀般按年计算):EPS = 归属于普通股股东的当期净利润 / 当期实际发⾏在外的普通股加权平均数2. PE (Price to Earning Ratio)表⽰市盈率,是当前股价(P)相对每股收益(EPS)的⽐值:PE = P / EPSEPS按照不同的计算⽅法取出,可以得出使⽤范围不同的PE(市盈率):若每股收益(EPS)取最近四次的季报的每股收益的平均值,计算出“滚动市盈率”(⼜称市盈率TIM);若每股收益(EPS)取去年的12个⽉的每股收益,则计算出“静态市盈率”(⼜称市盈率LYR);若每股收益(EPS)取预测下⼀年的每股收益,则计算出“动态市盈率”。

3. G(Growth Rate of Expected Profit)表⽰企业的收益增长率。

简单起见:计算公式为G = ( EPS(this year) - EPS(last year) ) / EPS(last year)n基于以上⼏个指标则得出PEG为PEG = PE / ( G * 100 )PE蕴含股价信息,PEG是⼀个股价相对于收益增长率的⽐值。

直观来讲,PEG越⾼,代表公司的股价有被⾼估的可能性,不建议买。

反之,PEG越低,代表该公司的股价有被低估的可能性,考虑买⼊。

双均线策略总结

双均线策略总结

双均线策略总结
双均线策略是一种常见的技术分析方法,它基于两条不同周期的移动平均线,通过交叉点来判断买入和卖出的时机。

下面是对双均线策略的详细总结:
1. 均线的选择
双均线策略中,一般选择较短周期和较长周期的移动平均线作为两条均线。

常见的选择是5日和20日、10日和30日、20日和50日等。

选择均线的周期需要根据市场的波动性和交易品种的特点来确定。

2. 交叉点的判断
当较短周期的均线向上穿过较长周期的均线时,称为“金叉”,这是一个买入信号;当较短周期的均线向下穿过较长周期的均线时,称为“死叉”,这是一个卖出信号。

交叉点的判断需要结合市场的走势和交易品种的特点来确定。

3. 止损和止盈的设置
在使用双均线策略时,需要设置止损和止盈来控制风险和获利。

止损一般设置在买入价位的一定比例下方,止盈一般设置在买入价位的一定比例上方。

止损和止盈的设置需要根据市场的波动性和交易品种的特点来确定。

4. 风险控制
在使用双均线策略时,需要注意风险控制。

一般来说,不宜将全部资金用于一次交易,应该根据自己的风险承受能力和市场的波动性来确定每次交易的资金量。

同时,应该注意控制交易频率,避免过度交易。

5. 策略的优缺点
双均线策略的优点是简单易懂,适用于各种交易品种和市场情况。

缺点是容易受到市场噪音的干扰,交易信号不够精确,需要结合其他技术分析方法来进行判断。

总之,双均线策略是一种常见的技术分析方法,可以帮助投资者判断买入和卖出的时机,但需要注意风险控制和策略的优缺点。

常见的量化策略都有哪些?

常见的量化策略都有哪些?

常见的量化策略都有哪些?常见的量化策略都有哪些?永远的量化发表在策略研究 2018-04-17一、海龟交易策略海龟交易策略是一套非常完整的趋势跟随型的自动化交易策略。

这个复杂的策略在入场条件、仓位控制、资金管理、止损止盈等各个环节,都进行了详细的设计,这基本上可以作为复杂交易策略设计和开发的模板。

二、阿尔法策略阿尔法的概念来自于二十世纪中叶,经过学者的统计,当时约75%的股票型基金经理构建的投资组合无法跑赢根据市值大小构建的简单组合或是指数,属于传统的基本面分析策略。

在期指市场上做空,在股票市场上构建拟合300指数的成份股,赚取其中的价差,这种被动型的套利就是贝塔套利。

那么在如今贝塔套利空间越来越小的状况下,我们还有什么好方法吗?这就是更主动的、也更考验操作者判断能力的阿尔法套利三、多因子选股多因子模型是量化选股中最重要的一类模型,基本思想是找到某些和收益率最相关的指标,并根据该指标,构建一个股票组合,期望该组合在未来的一段时间跑赢或跑输指数。

如果跑赢,则可以做多该组合,同事做空期指,赚取正向阿尔法收益;如果是跑输,则可以组多期指,融券做空该组合,赚取反向阿尔法收益。

多因子模型的关键是找到因子与收益率之间的关联性。

四、双均线策略双均线策略,通过建立m天移动平均线,n天移动平均线,则两条均线必有交点。

若m>n,n天平均线“上穿越”m天均线则为买入点,反之为卖出点。

该策略基于不同天数均线的交叉点,抓住股票的强势和弱势时刻,进行交易。

双均线策略中,如果两根均线的周期接近,比如5日线,10日线,这种非常容易缠绕,不停的产生买点卖点,会有大量的无效交易,交易费用很高。

如果两根均线的周期差距较大,比如5日线,60日线,这种交易周期很长,趋势性已经不明显了,趋势转变以后很长时间才会出现买卖点。

也就是说可能会造成很大的亏损。

所以两个参数选择的很重要,趋势性越强的品种,均线策略越有效。

五、行业轮动行业轮动是利用市场趋势获利的一种主动交易策略其本质是利用不同投资品种强势时间的错位对行业品种进行切换以达到投资收益最大化的目的。

双均线策略代码

双均线策略代码

双均线策略代码双均线策略是一种极其简单的股票交易策略,它主要利用两条均线来识别股票价格变化的趋势,从而作出贸易决策。

具体来说,这种策略通过将较为短期的均线与较为长期的均线相叠加,观察均线之间的交叉情况,进而推测市场趋势的走向。

双均线策略的具体实现要依赖于代码编写。

在Python等编程语言中,一般可以采用pandas等数据分析库进行数据的读取和处理,以及ta-lib等技术指标库进行均线的计算。

下面给出一种可能的双均线策略实现代码:```pythonimport pandas as pdimport talib as ta# 读取股票数据stock_data = pd.read_csv("stock_data.csv")# 计算5日均线和20日均线stock_data["ma5"] = ta.MA(stock_data["close"], timeperiod=5) stock_data["ma20"] = ta.MA(stock_data["close"], timeperiod=20)# 计算均线交叉情况buy_signals = (stock_data["ma5"] > stock_data["ma20"]) & (stock_data["ma5"].shift() <= stock_data["ma20"].shift()) sell_signals = (stock_data["ma5"] < stock_data["ma20"]) & (stock_data["ma5"].shift() >= stock_data["ma20"].shift())# 根据信号进行交易positions = pd.Series(index=stock_data.index)cash = 100000shares = 0for i in range(len(stock_data)):if buy_signals.iloc[i]:shares = cash / stock_data["close"].iloc[i]cash = 0positions.iloc[i] = shareselif sell_signals.iloc[i]:cash = shares * stock_data["close"].iloc[i]shares = 0positions.iloc[i] = -cashelse:positions.iloc[i] = 0# 计算收益率和累积收益率returns = stock_data["close"].pct_change() * positions.shift() cumulative_returns = (1 + returns).cumprod()# 输出结果print("Final P&L:", cash + shares * stock_data["close"].iloc[-1]) print("Annualized return:", (cumulative_returns[-1]**(365/len(stock_data))-1)*100, "%")```在上述代码中,我们首先读取股票数据,然后利用ta-lib计算5日均线和20日均线,接着根据均线的交叉情况来生成买入信号和卖出信号。

A股量化交易策略与方法入门教程

A股量化交易策略与方法入门教程

A股量化交易策略与方法入门教程一、引言量化交易是一种基于数据分析的交易方法,通过量化分析和程序化交易,实现投资策略的自动化执行。

在中国股市中,量化交易已经逐渐成为一种重要的交易方式。

本教程旨在帮助读者了解如何使用通达信软件编写A股量化交易策略和方法,并通过实例进行深入浅出的讲解。

二、准备工作在进行量化交易之前,需要准备好通达信软件和相应的编程环境。

通达信软件是一款面向个人和专业投资者的证券分析软件,具有丰富的功能和数据资源。

在安装通达信软件之后,需要配置相应的编程环境,例如安装Python解释器、配置通达信API等。

三、策略编写1.获取数据使用通达信软件提供的API,可以获取股票行情、财务数据、技术指标等各类信息。

以下是一个简单的Python代码示例,用于获取某只股票的行情数据:pythonimport tdxapiapi = tdxapi.TdxApi()symbol = "000001" # 股票代码fields = ["price", "vol"] # 需要获取的字段api.get_tick_data(symbol, fields) # 获取行情数据2.数据处理获取数据后,需要对数据进行处理和清洗,以便进行后续的分析和交易。

以下是一个简单的Python代码示例,用于对数据进行处理和清洗:pythonimport pandas as pdimport numpy as npdf = pd.read_csv("data.csv") # 读取数据df = df[pd.notnull(df['price'])] # 过滤掉缺失值df['change'] = df['price'].pct_change() # 计算涨跌幅3.策略实现根据投资策略,编写相应的程序实现。

以下是一个简单的Python 代码示例,用于实现一个简单的双均线策略:pythonimport pandas as pdimport numpy as npdf = pd.read_csv("data.csv") # 读取数据df = df[pd.notnull(df['price'])] # 过滤掉缺失值df['change'] = df['price'].pct_change() # 计算涨跌幅df['ma5'] = df['price'].rolling(window=5).mean() # 计算5日移动平均线df['ma20'] = df['price'].rolling(window=20).mean() # 计算20日移动平均线df['signal'] = np.where(df['ma5'] > df['ma20'], 1, 0) # 生成信号df['position'] = df['signal'].diff() # 计算持仓4.交易执行根据策略生成的持仓信息,编写相应的交易程序。

双均线策略(CTA)

双均线策略(CTA)

双均线策略(CTA)
什么是均线?
对于每一个交易日,都可以计算出前N天的收盘价的移动平均值,把这些移动平
均值连起来,形成一条线,就叫做N日移动平均线。

双均线就是两条均线,比如
5日均线和10日均线。

什么是双均线策略?
由短周期均线自下向上穿越长周期均线,所形成的交点,称为金叉。

当短周期均线自上而下穿越长周期均线,所形成的交点,称为死叉。

这样我们可以构建一个双均线策略:双均线金叉的时候,表明该币很强势,市场属于多头市场;反之,当出现死叉点时,市场属于空头市场。

策略:
进场点:金叉,做多;死叉,做空
出场点:信号反转时出场
主要参数:
快线周期:移动平均线参数
慢线周期:移动平均线参数
K线周期:使用本策略选择的K线时间周期
下单数量:每次下单量
我们以交易对 BTCUSD 及以下参数为例:
快线周期:MA9;慢线周期:MA20;k线周期:10080 Min(周线);下单数量:10张
分析:
入场点位:3832 USD(多)
出场点位:9824 USD(平多)
本次盈利: (9824-3832)*0.01*10= 599.2 USD
投入成本:3832*0.01*10/5=76.64USD(按照最大5倍杠杆计算)
收益率:599.2/ 76.64*100%=781.8%(不包含手续费和资金费率)
投资周期:6个月左右。

最简单的期货“双均线、双交叉”交易系统

最简单的期货“双均线、双交叉”交易系统

最简单的期货“双均线、双交叉”交易系统最简单的期货“双均线、双交叉”交易系统幸益佳2012年9月4日星期二炒期货与炒股票在技术分析方面是一样的,但由于产品特性和交易制度方面的一些差异。

炒股票与炒期货又有很大的区别。

1、股票可以价值投资,在合适的位置买入了,便可以在一个相当长的时间里不管。

只要股市的股票不退市,你账户里的股票不会被清零的。

而期货不行,由于期货的实质是交割合约,一方面是如果你账户内的保证金被亏损完了,期货公司是会给你强行平仓的,亏损大了,甚至会有可能欠下期货公司一些钱。

另外就是期货的交割日到了,期货公司也是会给你强行平仓的。

所以炒期货一定要注意期货交割期的问题。

2、股票投资可以满仓位介入,当然在股票价格的上涨过程中可以实现资金的高效率运用,但是倘若遇到股票价格的下跌,其风险将放大到最大。

而期货由于实行的是保证金制度,10比1的杠杆作用,在操作方向正确的情况之下,你的资金可以获取期货价格涨跌比例10倍的收益,不过操作风险反了就会造成期货价格涨跌比例10倍的损失。

因此可以说,炒期货既体现了其盈利能力比炒股票强大的一面,同时也包含着风险比炒股票也强大的一面。

3、中国A股市场实行的是“T+1”的交易制度,并且只能在股票价格的上涨过程中才能获利。

而期货实行的是“T+0”的交易制度,炒期货既可以通过买多赚钱,也可以通过卖空获利。

因此期货的交易方式非常灵活,既可以做日内交易也可以做隔夜交易,从而使得风险变得容易控制。

4、股票的价格容易被机构操盘,炒股散户无法通过技术图表进行布控,搞不好更可能掉进机构专门设计的图表陷阱。

而期货,由于双向交易的特点,机构通过操纵期货价格而获利的打算便失去了意义,因此散户们皆可以通过纯粹的技术分析把握有利于自己的一段行情。

从这个意义上来讲,期货交易制度上的设计比股票交易制度的设计显得比较公平。

笔者原来炒股票,现在炒期货。

现将根据期货交易制度的特点,而综合自己较长时期对股票技术分析的研究成果。

均线双周期操作方法

均线双周期操作方法

均线双周期操作方法
均线双周期操作方法是投资者通过参考两种不同周期的均线进行操作的一种交易策略。

具体步骤如下:
1. 选择合适的均线周期:双周期操作方法通常选择较短周期和较长周期的均线进行操作。

较短周期一般在5日至20日之间,较长周期一般在50日至200日之间。

选择周期时可根据具体情况,如市场行情、交易品种以及个人风险偏好等因素进行选择。

2. 确定买入信号:当较短周期均线向上穿过较长周期均线时,为买入信号。

此时认为市场处于上涨趋势中,可考虑买入。

3. 确定卖出信号:当较短周期均线向下穿过较长周期均线时,为卖出信号。

此时认为市场处于下跌趋势中,可考虑卖出。

4. 设置止损和止盈:根据个人风险承受能力设置合适的止损和止盈点位。

止损是为了限制亏损,当价格下跌到设定的止损点位时,应及时止损。

止盈是为了锁定盈利,当价格上涨到设定的止盈点位时,应及时止盈。

5. 管理仓位和资金:根据市场行情和交易信号合理管理仓位和资金。

在买入信号出现时,适当加仓;在卖出信号出现时,适当减仓。

同时,根据个人风险承受能力合理分配资金,控制每笔交易的风险。

以上是均线双周期操作方法的基本步骤,投资者在实际操作中还可以结合其他技术指标和交易策略进行分析和决策。

需要注意的是,均线双周期操作方法并不是完全准确的预测工具,投资者应根据自身的实际情况和市场情况进行合理的判断和决策。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10 周期均线与 20 日均线的双均线策略;
无持仓时直接按照股票池等权买入;有持仓时,不在股票池中的股票卖出
实现量化投资策略的相关编程并非想象中这么困难,从 Python 的安装到量化 编程的实现只需简单几步(具体见 /q/forum.php?mod=viewthread&tid=54&extra=page%3D1 轻松 安装 Python、掘金量化平台及相关工具包)
2. Python 相关函数 2.1Python 标准函数

功能
函数原型
参数 参数名
含义
返回值
reverse 用于反向列表中元素
list.reverse()
该方法没有返回值,但是会对 列表的元素进行反向排序。
该方法没有返回值,但是会对列表的元
extend
list.extend(seq)
seq
素进行反向排序。
注:更多关于量化策略的教程和分析等精彩内容详见
/q/forum.php
# 初始金额
transaction_ratio=1,
# 成交比率
commission_ratio=0.0000,
# 手续费
slippage_ratio=0.000,
# 滑点
price_type=1) start = time.time() ret = ma.run() end = time.time() print(end - start)
3.金融术语
双均线策略:指的是运用两条不同周期的移动平均线,即短周期移动平均线和 长周期移动平均线的相对大小,研判买进与卖出时机的策略。当短周期的均线 从长期均线的下方,向上穿越至长周期的均线,所形成的交点,称为金叉。当 短周期的均线从长期均线的上方,向下穿越至长周期的均线,所形成的交点, 称为死叉。当出现金叉点时,市场属于多头市场;当出现死叉点时,市场属于 空头市场。
def on_bar(self, bar):
if bar.bar_type == 60:
position = self.get_positions() # 获取持仓量 if len(position) == 0: ##如果没有持仓,设 self.holding = 0
self.holding = 0
get_positions 和证券 ID 组成)和买卖方向的持仓信息。 xchange,
sec_id string 证券代码
策略类和交易服务类都提供该接口。
sec_id, side);
side
int
买卖方向
Position 对 象,持仓信息
open_long
异步开多仓,以参数指定的 symbol、价和
量化投资入门教程二——双 均线策略
目录 1. 策略原理及代码
1.1 策略原理 1.2 策略代码 2. Python 相关函数 2.1Python 标准函数 2.2 掘金接口函数 3.金融术语(双均线策略)
1.策略原理及代码
1.1 策略原理
股票:SHSE.600009;
时间:2016/1/1--2017/1/1 分频数据;
exchange
open_long(exch
量下单。如果价格为 0,为市价单,否则为
ange, sec_id,
限价单。策略类和交易服务类都提供该接
price, volume)

sec_id
string string
交易所代码, 如上交所
SHSE
委托下单生成
的 Order 对象 证券代码,如浦发银行
600000
self.close_list.append(bar.close)
if len(self.close_list) < 20: self.MA10 = self.close_list[:] self.MA20 = self.close_list[:]
if len(self.close_list) >= 20: close = np.asarray(self.close_list) self.MA10 = SMA(close, timeperiod=10) # 10 周期均线 self.MA20 = SMA(close, timeperiod=20) # 20 周期均线
if self.holding == 0: if self.MA10[-1] > self.MA20[-1]: # 10 周期均线>20 周期均线开仓 self.open_long('SHSE', '600009', 0, 10000)
if self.holding == 1: if self.MA10[-1] < self.MA20[-1]: # 10 周期均线<20 周期均线平仓 self.close_long('SHSE', '600009', 0, self.volume)
hange, sec_id,
为 0,为市价单,否则为限价单。策略类和
price, volume)
交易服务类都提供该接口。
price
string
证券代码,如浦发银行
600000
委托下单生成
的 Order 对象 委托价,如果 price=0,
float 为市价单,否则为限价

volume float 平仓量
if len(position) > 0: if position[0].available_yesterday > 0: # 如果有昨仓,设 self.holding = 1 self.volume = position[0].available_yesterday self.holding = 1 if position[0].available_today > 0: # 如果有今仓,设 self.holding = 2 self.holding = 2
price
float
委托价,如果 price=0, 为市价单,否则为限价 单
volume float 委托量
exchange string
交易所代码, 如上交所 SHSE
close_long
异步平多仓接口,以参数指定的 exchange,
sec_id
close_long(exc
证券代码 sec_id, 价和量下单。如果价格
if self.holding == 2: pass
if __name__ == '__main__':
ma = MA(
username='username',
# 输入用户名
password='password',
# 输入密码
strategy_id='strategy_2',
# 输入策略 ID
subscribe_symbols='SHSE.600009.bar.60', # 输入订阅代码
bar_type, n,
end_time='')
n
int
bar 周期,以秒为单 位,比如 60 即 1 分钟
Bar 列表 bar
提取的数据条数
end_time string
指定截止时间, 如 2015-10-30 15:00:00
exchange string 交易所代码
查询当前策略指定 symbol(由交易所代码 get_position(e
bars = self.get_last_n_bars('SHSE.600009', 60, 20, '2016-01-01 00:00:00') last_closes = [bar.close for bar in bars] # 提取每分钟收盘价 last_closes.reverse() # 查询出的结果为倒序,需反转 self.close_list.extend(last_closes)
功能
函数原型
参数
参数名 类型
说明
返回值
symbol
证券代码, 带交易所代 string 码以确保唯一,如
SHSE.600000
get_last_n_bar
s(symbol, 提取单个代码的最新 n 条 Bar 数据,策略类
bar_type int
get_last_n_bars 和行情服务类都提供该接口。
该方法没有返回值,但会在已 元素列表。 存在的列表中添加新的列表内
容。
返回对象(字符、列表、元组等)长度
len
len(s)
或项目个数。
s
对象
返回对象长度。
append 用于在列表末尾添加新的对象。
list.append(obj)
obj
添加到列表 该方法无返回值,但是会修改
末尾的对 原来的列表。
象。
2.2 掘金接口函数
mode=4, # 选择模式
td_addr='localhost:8001'
)
ma.backtest_config(
start_time='2016-01-01 09:00:00', # 起始时间
end_time='2017-01-01 09:00:00', # 结束时间
initial_cash=1000000,
1.2 策略代码(可直接在 python 中实现)
#!/usr/bin/env python # encoding: utf-8
import numpy as np from gmsdk import * from talib import SMA import time
class MA(StrategyBase): def __init__(self, *args, **kwargs): super(MA, self).__init__(*args, **kwargs) self.close_list = []
相关文档
最新文档