1.t检验中p的定义,应该是在正态分布均值为0的情况下,采样出现样本数据的概率。这里显著性水平设置的是0.05,如果取值p/2,那么显著性水平也应该设置为0.025。
2.不管是取0.5对应p,还是0.025对应p/2,都只能说明均值为0的正态分布采样时,出现试验样本的概率大小,如果p的值比显著性水平值小,拒绝原假设,只能说明概率上我们不能认为样本对应的总体均值为0,但并不能说明样本对应的均值大概率是小于0还是大于0。也就是说,不能认为p值小于显著性水平,就表示大概率会盈利。
小实验如下,手动将一直股票的每次收益调整为负数,显然是亏损的
df = get_price('000001.XSHE', '2015-01-01', '2021-08-01', 'daily')
df = ma.ma_strategy(df, 5, 20)
df['profit_pct']=np.where(df['profit_pct']>0,df['profit_pct']*(-1),df['profit_pct'])
test.ttest(df['profit_pct'])输入为
auth success
t-value: -6.905317908023121
p-value: 7.040555965936389e-09
是否拒绝[H0]收益均值=0: True
Process finished with exit code 0