SF21 | 利用PSY指标,我们来开发一个短线模型?

松鼠宽客
2020-10-15


公众号致力于分享量化策略,培训视频,Python,程序化交易等相关内容如果你喜欢本文,麻烦分享关注一下公众号非常感谢


『正文』

ˇ

引用

PSY指标(psychological line),是研究投资者对市场涨跌产生心理波动的情绪指标,是一种能量类和涨跌类指标。它对市场短期走势的研判具有一定的参考意义。
作为分析市场的涨跌指标,PSY指标是在时间的角度上计算N日内的多空总力量,来描述市场目前处于强势或弱势,是否处于超买或超卖状态。它主要是通过计算N日内股价或指数上涨天数的多少来衡量投资者的心理承受能力,为投资者进行买卖操作提供参考。

PSY指标是以一段时间收盘价涨跌天数的多少为依据,其计算方法很简单,计算公式如下:

PSY(N)=A÷N×100

N为周期,是PSY的参数,可以为日、周、月、分钟

A为在这周期之中股价上涨的周期数

例如:N=20日时,日之中有12日上涨,8日下跌,则PSY(20日)=60。

这里判断上涨和下跌是以收盘价为标准,计算日周期的收盘价如果比上一周期的收盘价高,则定为上涨;比上一周期的收盘价低,则定为下跌。

在确定使用MACD+PSY指标后,我们规定了如下的交易策略:


Theil-Sen + Mann-Kendall=MACD+PSY

开仓做多:MACD在0轴以上并且PSY大于50;

开仓做空:MACD在0轴以下并且PSY小于50;

平仓:MACD或者PSY任一指标给出反向信号;

止盈:PSY超过上界多单止盈,PSY超过下界空单止盈。

止盈后只可开反向头寸:如多单止盈,则下一次开仓只可做空,不可做多。空单开出后,该限制条件消失。

该策略在实盘应用的过滤效果反映在了下图中,我们可以看到在白色箱体内的反复振荡行情中,单纯的观察MACD指标会给出一系列的开仓信号。这在振荡行情中不仅浪费了资金的使用效率,还将自己暴露在市场风险中,而加入PSY指标后,我们看到该振荡行情内没有任何持仓。


将单指标MACD系统和双指标MACD+PSY系统进行比较来体现PSY指标的作用,可以发现,由于加入PSY指标以后需要双重确认才会开仓,这无疑大大减少了盈利的机会,但是同时也过滤了额外的无意义的入市风险。

图为PSY在振荡行情中的过滤器效果,上图为MACD,下图为MACD+PSY

观察利润回撤比我们发现,在加入PSY指标后,利润风险比在两个品种上都有所提升,这充分说明了PSY的双重确认效果在交易层面确实存在优势。其次通过观察交易手数,我们发现PSY起到了显著的过滤器作用,MACD+PSY系统的开仓次数相比于MACD单指标系统减少一半还要多。


虽然建仓次数减少一半,但是单笔利润却增长了一倍以上,这充分表明了PSY指标在止盈上的效果,有效防止了盈利的回吐。最后我们再观察胜率,发现在PSY指标的过滤和止盈帮助下,胜率均有大幅提升。

资料参考:PSY指标在交易中的应用(来源于网络,如有侵权请联系客服删除)


思考与改造

笔者对以上的PSY策略应用进行了测试验证,发现效果并不好。所以放弃了原有的使用方法,仅仅借鉴了其思路。PSY统计一个周期内的上涨和下跌次数,仅考虑BAR线是上涨还是下跌,缺乏对BAR本身的描述无法对行情的强度进行判断,造成了以下这种情况。
   如上图所示,大阴线的特殊性并没有在PSY指标里体现,仅是当作了一个下跌的线和前面的小阴线并无差别。这就是问题所在了,上涨和下跌次数并不能完整的描述出价格变化的幅度和方向,这也是参考资料里PSY要结合MACD这种趋势指标的原因,但实际效果并不好。
 

如上图所示,我们需要针对关键Bar线进行描述,在原版PSY的基础上,我们添加Abs(C-C[1])计算波幅,在一定周期内每个BAR线的波幅都会被计算,同时区分上涨和下跌波幅,即波幅就是Bar线的权重

  //计算N周期内上涨下跌的累计次数,上涨的幅度之和与下跌幅度之和   For i=1 To N   {     If(Condition_Close[i])    {      Sum_up=Sum_up+1;      Sum_uprange=Sum_uprange+true_Range[i];    }Else    {      Sum_dn=Sum_dn+1;      Sum_dnrange=Sum_dnrange+true_Range[i];    }   }


PSY 蓝色线

RANGE 黄色线

  红框内我们看到RANGE=75%说明多头更强,但是PSY=50%什么都说明不了,这是因为RANGE考虑了波幅这个权重因子,让我们知道了即使在上涨下跌次数55开的情况下,仍然靠那么1-2根K线决定了价格走向。


交易条件


开多:PSY>50 and RANGE >TS
开空:PSY<50 and RANGE <TSS
出场:   VWAP移动出场


周期:5分钟
交易时间:2015年至今
手续费:开平各1.5%%,1滑跳

实例效果


交易开拓者:

【螺纹】

螺纹(2015年至今)


文华WH8

【螺纹】

MC(螺纹)

金字塔(螺纹)

   

注意,不同平台的历史数据差异,交易函数差异造成了绩效差异,仅供参考,请自己针对不同平台再做微调,原生版以TB为主


投资组合绩效(交易开拓者)

 


螺纹

PP

甲醇

苹果

棕榈


源码版本:


天勤Python,实盘免费



End


咨询详情



长按下方二维码

加客服“小松鼠-松鼠宽客”
微信号: viquant01


对话框回复 SF21 咨询源码获得

(俱乐部加入→回复VIP)

加入松鼠俱乐部


----------------往期精彩内容----------------


算法策略专辑:

3.【日内模型】TBquant信号回测版本+python历史回测版源码

2.【日内模型】第二版本基于orderflow的盘口策略(完整源码)

1.【日内模型】基于orderflow的盘口策略开发帖

量化视频专辑:

视频教程 | 手把手系列之"Aberration"策略的优化与升级

视频教程 | 手把手系列之"震荡过滤"突破策略的优化与实现

量化研究专栏:

量化研究 | 残差动量策略刻画与构建(二)

量化研究 | 残差动量策略刻画与构建(一)

量化研究 | 主连复权算法大揭秘[含公式算法]

量化研究 | 策略在指数与主连复权的差异化分析(三)

量化研究 | 策略在指数与主连复权的差异化分析(二)

量化研究 | 策略在指数与主连复权的差异化分析(一)

精品自动交易策略库(近期更新):

【SF20】 | 来聊聊平仓离场的方法,如何构建高效,灵活,可靠的出场策略?

【SF19】| 基于VWAP(成交量加权平均价格)开发Alpha均线增强策略

【SF18】| MACD顶底背离+动态区间交易模型源码(技术贴)

【SF17】| 均线波动差构建交易策略

【SF16】| "凹凸"均线形态交易策略源码(技术帖)

【SF15】| 波峰波谷交易策略结合ER降噪过滤

【SF14】| Supertrend“超级趋势线”指标魔改升级(源码)
【SF13】| 实盘策略解密“小品种,小资金”在跑策略源码!

【SF12】| 全新波动率算法,自适应区间+波动率择时!

【SF11】| 成交量来确定阻力支撑点,基于Volume Profile构建交易策略

【SF10】| 如何构建一个胜率超过60%的短线螺纹策略(开发教程)

【SF09】| 资金流向交易策略源码,绩效突出,适应性兼容性强,5分钟短线交易模型;【SF08】| 经典KD指标另类使用有奇效,股指商品双版本策略



祝点击在看的小伙伴,2020发大财


分享