Python 特别移动平均线
我想预测价格变化的方向。 “价格”一词是指股票的中间价,它被定义为最佳出价和最低出价之间的平均值 t时的最佳要价: 这是价格的一个虚拟值,因为此时不可能发生订单 准确的价格,但预测其向上或向下的运动 提供对未来订单价格的良好估计。一套 离散选择必须从我们的数据中构造出来,以用作目标 对于我们的分类模型。简单地使用p(t)>p(t+k)来 确定中间价的方向将带来难以管理的后果 噪音量,因为最小的变化将被记录为 向上或向下运动 前k个中间价的平均值(用m_b表示)和下k个中间价的平均值(用m_a表示)定义为: 以下是一个示例:Python 特别移动平均线,python,pandas,Python,Pandas,我想预测价格变化的方向。 “价格”一词是指股票的中间价,它被定义为最佳出价和最低出价之间的平均值 t时的最佳要价: 这是价格的一个虚拟值,因为此时不可能发生订单 准确的价格,但预测其向上或向下的运动 提供对未来订单价格的良好估计。一套 离散选择必须从我们的数据中构造出来,以用作目标 对于我们的分类模型。简单地使用p(t)>p(t+k)来 确定中间价的方向将带来难以管理的后果 噪音量,因为最小的变化将被记录为 向上或向下运动 前k个中间价的平均值(用m_b表示)和下k个中间价的平均值(用m_a表
0 2015-03-31 09:30:00.233 2.4645
1 2015-03-31 09:30:00.233 2.4634
2 2015-03-31 09:34:44.116 2.5363
3 2015-03-31 09:34:44.116 2.5434
4 2015-03-31 09:36:38.535 2.5356
5 2015-03-31 09:36:38.535 2.5432
6 2015-03-31 09:36:38.537 2.5463
7 2015-03-31 09:36:38.537 2.5432
8 2015-03-31 09:45:10.512 2.5274
9 2015-03-31 09:45:10.512 2.5262
10 2015-03-31 09:45:10.523 2.5299
11 2015-03-31 09:45:10.529 2.5234
12 2015-03-31 09:45:10.531 2.5276
13 2015-03-31 09:45:10.568 2.5212
14 2015-03-31 09:45:10.569 2.5262
15 2015-03-31 09:45:10.635 2.5143
16 2015-03-31 09:45:10.684 2.5267
17 2015-03-31 09:45:10.686 2.5212
18 2015-03-31 10:00:02.111 2.5213
19 2015-03-31 10:00:02.111 2.5298
20 2015-03-31 10:00:02.112 2.5212
21 2015-03-31 10:00:02.381 2.5263
22 2015-03-31 10:00:02.472 2.5212
23 2015-03-31 10:00:02.486 2.5298
24 2015-03-31 10:00:02.524 2.5298
25 2015-03-31 10:00:04.026 2.5270
26 2015-03-31 10:06:54.546 2.5212
27 2015-03-31 10:06:54.558 2.5234
28 2015-03-31 10:06:54.558 2.5253
29 2015-03-31 10:06:54.566 2.5234
Aat在任何时候,我都想计算m_a和m_b,但我不知道如何用熊猫或numpy来计算。假设地平线k=5,我如何用python编写这两个特殊的移动平均线?因此,我需要两个函数,即leftmovingaverage()
和rightmovingaverage()
,并在价格列旁边显示两列,分别为M_A
和M_B
示例:
我们有1000个时间数据。设置k=600,那么你可以从k=590~600计算m_a,从k=601~610计算m_b。在下面的链接中,所有内容都得到了很好的解释:
对于两个求和,两个索引都从i=1开始,求和除以k+1,而不是k我想确定一些事情。1.在
m_b(t)
的公式中,为什么k从0开始?除此之外,您还可以通过k
潜水。因此,从技术上讲,您将添加k+1
项并除以k
。对吗?2.在您的示例中,如果k=600,如何从t=590计算ma
?顺便说一下,在你的例子中,我认为应该是t=590~600
,而不是k=590~600
@ParagS.Chandakkar Loot,链接如下:。一切都好解释。
def moving_average(df, col_name='Price', k=3):
ma_cols = []
mb_cols = []
temp_df = DataFrame()
for i in range(0, k+1):
ma_col = 'M_A_{}'.format(i)
ma_cols.append(ma_col)
mb_col = 'M_B_{}'.format(i)
mb_cols.append(mb_col)
temp_df[ma_col] = df[col_name].shift(i)
temp_df[mb_col] = df[col_name].shift(-i)
df['M_A'] = temp_df[ma_cols].mean(axis=1, skipna=True, numeric_only=True)
df['M_B'] = temp_df[mb_cols].mean(axis=1, skipna=True)
print (df)
return df
moving_average(df)