我正在为别人建立一个交易算法。
我在数据帧的两列上运行线性回归。数量和价格。
df:
Volume Price
0 12.952941 8.534815
1 12.972921 8.544813
这就是我运行线性回归的方法
from scipy.stats import linregress
lr = linregress( df['Volume'],df['Price'])
其中一个要求是确定当价格下跌时,哪个数量与价格偏离或价格上涨。
有没有办法做到这一点?我不知道如何确定这一点。
提前谢谢你。
答案 0 :(得分:2)
我认为您应该使用correlations来完成您所描述的内容。
总结,相关性用于描述两个变量之间的关系,例如问题中的数量和价格。因此,无论何时关联变量,都会返回介于-1和+1之间的数字。
一般情况下,如果变量之间存在正相关(通常> 0.6),则表示当数量增加时,价格也会增加。另一方面,负相关(恰好是接近-1的值),当变量增加时,另一个减少。
通常,只要您发现相关性接近于零,就可以说相关性较弱或没有相关性。
此外,还有应用相关性的规则。通常,当您具有非高斯分布时,应使用Spearman相关。具有高斯分布,您可以使用Pearson相关。要发现您的分布是否为高斯分布,您可以使用Kolmogorov-Smirnov检验或Shapiro-Wilk检验。
还有另一个细节。计算相关性时,您必须验证p-value,它量化了相关性的有效概率。通常,p值<1。 0.05通常是可以接受的。否则,您无法得出有关相关结果的任何信息。