我对Python相当陌生,正在尝试实现熊猫的资金流指数。但是我仍然觉得我没有把它做得像Python中那样优雅。我得到的价值观似乎与雅虎财经的价值观不一致。在
That's where I got my formulas from
我很感激我能得到的每一个帮助。或者如何让它更具表现力或优雅。在
def MoneyFlowIndex(df, periods=14):
typical_price = (df.High + df.Low + df.Close) / 3
raw_money_flow = typical_price * df.Volume
direction = []
close_old = 0;
for index, value in df['Adj Close'].iteritems():
if(index == 0):
direction.append(0)
else:
direction.append(-1 if value - close_old < 0 else 1)
close_old = value
raw_money_flow = raw_money_flow.to_frame(name='raw_money_flow')
raw_money_flow['direction'] = direction
mfi = pd.DataFrame(index=df.index)
mfi['mfi_'+str(periods)] = df['Adj Close']*0
for i in reversed(range(len(df.index))):
if i >= 14:
pos_mf_prd = raw_money_flow[i-periods:i ][raw_money_flow.direction > 0].raw_money_flow.sum()
neg_mf_prd = raw_money_flow[i-periods:i][raw_money_flow.direction < 0].raw_money_flow.sum()
mf = 100 - 100/(1 + pos_mf_prd/neg_mf_prd)
else:
mf = 0
mfi.iloc[i]['mfi_'+str(periods)] = mf
return mfi
非常感谢 本
目前没有回答
相关问题 更多 >
编程相关推荐