这个根据养家独门笔记编写而来,她的逻辑是基于市场情绪和资金流向动力学构成的量化分析指标,她的核心在于能够帮助我们识别赚钱效应的初现和持续性。与传统的技术指标不一样的地方,这个指标她更强调了趋势的惯性,对短期价格动量有深刻的理解构建的投资情绪周期学。
一、指标逻辑算法
首先我们计算了价格幅度变化量,用来分析当天价格幅度的变化和动能。
然后呢我又计算了量比,通过成交量与近期成交量平均水平,突破1代表短期出现资金异动了。
这里创新的地方是我用了资金合成强度的算法价幅*LN(VOL)这样将价格变动和成交量进行结合,包含了经济学弹性系数的思想,即价格变动对成交量的敏感程度属于独特的原创创新。
二、趋势能量机制
这里我用了5天递归平滑来计算资金强度,以过滤趋势的不确定性,并且做出了二次平滑,这样长短交替可以反映趋势的加速和减速作用,帮助我们第一时间分析趋势的变化。
三、共振多因子过滤
这里产生信号需要同时满足多个条件,包含了趋势情绪动量加速度,情绪能量大于0,量比大于1.2倍,以及价格位于中期趋势的上方,这样保证了我们通过情绪—价格—成交量三重确认的方法,避免单一信号的骗线假突破,有兴趣的朋友欢迎在评论区一起交流心得体会。
import numpy as np
import pandas as pd
def calculate_emotion_index(data, n1=5, n2=20):
'''
计算养家情绪引爆点指标
'''
# 计算价幅
df['价幅'] = (df['Close'] - df['Close'].shift(1)) / df['Close'].shift(1) * 100
# 计算量比
df['量比'] = df['Volume'] / df['Volume'].rolling(window=5).mean()
# 计算资金强度
df['资金强度'] = df['价幅'] * np.log(df['Volume'])
# 计算情绪能量和情绪趋势

df['情绪能量'] = df['资金强度'].ewm(span=n1, adjust=False).mean()
df['情绪趋势'] = df['情绪能量'].ewm(span=n1*2, adjust=False).mean()
# 计算均值回归带
df['均值回归带'] = 100 * (df['Close'] - df['Close'].rolling(window=n2).mean()) / df['Close'].rolling(window=n2).mean()
# 计算共振买点和卖点
df['共振买点'] = (df['情绪能量'] > df['情绪趋势']) & (df['情绪能量'] > 0) & (df['均值回归带'] > -2) & (df['量比'] > 1.2) & (df['Close'] > df['Close'].rolling(window=20).mean())
df['共振卖点'] = (df['情绪能量'] < df['情绪趋势']) & (df['情绪能量'] < 0)
return df{养家情绪引爆点指标量化市场情绪与资金攻击力度}{核心识别赚钱效应的初现和持续性}N1:=5;N2:=20;DRAWBAND(EMA(C,24),RGB(0,0,224),EMA(C,12),RGB(255,0,0));DRAWKLINE(HIGH,OPEN,LOW,CLOSE);价幅:=(C-REF(C,1))/REF(C,1)*100;量比:=VOL/MA(VOL,5);资金强度:=价幅*LN(VOL);情绪能量:=EMA(资金强度,N1);情绪趋势:=EMA(情绪能量,N1*2);均值回归带:=100*(C-MA(C,N2))/MA(C,N2);共振买点:=情绪能量>情绪趋势&&情绪能量>0&&均值回归带>-2&&量比>1.2&&C>MA(C,20);共振卖点:=情绪能量<情绪趋势&&情绪能量<0;DRAWICON(共振买点,L*0.995,34);DRAWICON(共振卖点,H*1.005,2);STICKLINE(共振买点,C,O,3,0),COLORYELLOW;
注意:本指标源码用于通达信,友情提示:代码较多。本文所述模型算法仅限学术探讨,指标公式作为知识免费分享,’基于开源数据集的理论推演’,仅用于学习交流。
学习分享