致力于分享量化策略,培训视频,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

甲醇

苹果

棕榈

源码版本:

本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。

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

  1. 利用scrapy和MongoDB来开发一个爬虫

    利用scrapy和MongoDB来开发一个爬虫 今天我们利用scrapy框架来抓取Stack Overflow里面最新的问题(),并且将这些问题保存到MongoDb当中,直接提供给客户进行查询. 安装 ...

  2. 利用WCF的callback机制开发一个简单的多人游戏模型

    本文介绍了如何利用WCF和callback机制开发一个简单的多人在线游戏模型. 运行过程如下: 当game service 启动之后,若干个客户端便会自动连接到服务器.当某个客户端点击join gam ...

  3. 如何从零开始用Keras开发一个机器翻译系统

    摘要: 作者拥有大量的实战经验,快来跟着作者开发属于你自己的神经网络翻译系统吧. 点此查看原文:http://click.aliyun.com/m/42632/ 机器翻译是一项非常具有挑战性的任务,按 ...

  4. python的Tkinter库简单应用——开发一个简易计算器

    利用python的Tkinter库开发一个简易计算器 文章目录 利用python的Tkinter库开发一个简易计算器 前言 一.实验准备 二.开发步骤步骤 1.引入库 2.界面设计 3.关键--实现T ...

  5. 软件开发模型-瀑布模型、V形模型、原型模型、增量模型、快速开发、敏捷模型

    文章目录 0x01 边做边改模型 0x02 瀑布模型 0x03 V形模型 0x04 原型模型 0x05 增量模型 0x06 螺旋模型 0x07 快速应用程序开发模型 (RAD) 0x08 敏捷模型 0 ...

  6. 设计模式之美-11| 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统?

    十一.设计模式之美-11| 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统? 一.钱包业务背景介绍 一个简单的钱包业务功能如下 1.充值 用户通过三方支付渠道,把自己银行卡账户内的钱, ...

  7. 利用阿里云OSS开发一个私人网盘/外链系统,php+js实现

    什么是阿里云OSS? 简单地理解,阿里云OSS(以下简称OSS)就是一个储存空间比较大的硬盘. 一般储存空间在40GB-400TB范围内 根据自己的需要去购买,而且便宜! 在阿里云官网可以购买. 我自 ...

  8. 利用java开发一个猜数字幸运小游戏:游戏规则如下

    package com.day04.www;import java.util.Random; import java.util.Scanner;public class day04 {public s ...

  9. 利用MyEclipse开发一个调用webservice接口的程序

    上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选 ...

最新文章

  1. Erlang Start![3]
  2. python水平条形图_如何在Bokeh(Python)中绘制水平条形图
  3. PowerDesigner教程系列(四)概念数据模型
  4. ActionScript3.0自定义Flex组件问题 重写组件的使用
  5. Matlab从入门到精通-在线性代数中的应用(二):求解齐次线性方程组
  6. [转载]我的博后申请经历从陶瓷到Offer过程
  7. 开始一个django项目
  8. 五大算法之二--动态规划
  9. Angular6_PWA
  10. C++新特性探究(二):override、final
  11. vux在ISO中异常 this.$vux.confirm.show
  12. 红旗7.0 rc1 版编辑开始菜单
  13. 位图转矢量图工具,快和模糊图片说白白
  14. 20145325张梓靖 《信息安全系统设计基础》第2周学习总结
  15. Android 9,安卓开发项目实战
  16. 【UE5】蓝图制作简单地雷教程
  17. 微信小程序详细图文教程-10分钟完成微信小程序开发部署发布 小程序趟过的坑,你遇到几个??
  18. Python的PyAutoGUI库整理中文文档,可以让所有GUI都实现自动化。
  19. html anki编辑器,AnkiEditor | F-Droid - Free and Open Source Android App Repository
  20. python图形化界面

热门文章

  1. html贪吃蛇怎么加蛇尾,贪吃蛇大作战蛇身的秘密 巧用蛇头蛇尾蛇身
  2. 神经网络基础-反向传播
  3. 中控考勤机web3.0登录账号密码
  4. 【BZOJ1412】【ZJOI2009】狼和羊的故事(网络流)
  5. 网页设计与开发(1)
  6. 我的新博客地址https://xmmup.com
  7. 禁止后退键(Backspace)终极方案
  8. Kubernetes Deployment控制器(二十)
  9. 双频段GSM/DCS移动电话射频指标分析
  10. ERP(Enterprise Resource Planning)/企业资源计划