@Channelchan
2017-03-04T15:07:16.000000Z
字数 1264
阅读 26401
周期名词
Detrend
HT_DCPERIOD
HT_PHASOR
inphase/quadrature
循环或波 Cycle or wave: 循环过程重复返回到其原始状态。
振幅 Amplitude(a):一个周期的波其水平中点(x轴)的高度。
周期 Period(T): 完成一个波长(周期)所需的时间单位数。
频率(ω): 每360°重复的波长数,计算为ω= 1 / T。
相位 Phase: 相对于基准波的周期的起点或偏移的测量。
相位角 Phase angle: 定位在作为顺时针移动的时钟的分针测量的周期内的位置,其中0°是三点钟。
反向 Inversions: 当出现峰值时,我们期望一个谷。寻找下一个更大的周期,看看是否是峰值,如果是,那么它被接受,因为更大的周期占主导地位。
左右偏向 Left and right translation : 循环峰值趋向于循环中心的左侧或右侧。
import talib as ta
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
data = ts.get_k_data('sh', start='2015-01-01', end='2015-12-31', ktype='D',autype='qfq')
data.index = pd.to_datetime(data['date'],format='%Y-%m-%d')
dc = np.array(data['close'])
dc_d=signal.detrend(dc)
把周期指标(HT_DCPERIOD)用做动量指标,在一定区间内来回震荡,添加均线作为进出场时机。
同相正交(inphase/quadrature)
x轴为Inphase, y轴为quadrature。一般情况下,图形在二象限代表下跌,四象限代表上涨。但这只是理论上,实际还需要用实验回测证明。
HTP = ta.HT_DCPERIOD(dc_d)
data['HTP_MA'] = ta.MA(HTP, 10)
data['inphase'], data['quadrature'] = ta.HT_PHASOR(dc_d)
plt.subplot(3,1,1)
plt.plot(data.index, dc_d)
plt.subplot(3,1,2)
plt.plot(data.index, HTP)
plt.plot(data['HTP_MA'])
plt.subplot(3,1,3)
plt.plot(data['inphase'], data['quadrature'])
plt.axhline(0,alpha=0.3)
plt.axvline(0,alpha=0.3)
X=data['inphase'].iloc[-1]
Y=data['quadrature'].iloc[-1]
plt.scatter(X,Y,color='r', s=100)
plt.show()