关于大熊猫移动平均值的问题

时间:2016-10-12 07:35:24

标签: python pandas

我是python和pandas的初学者。我很难调整波动率调整移动平均线,所以我需要你的帮助。

波动率调整后的均线是一种均线,其中均线时段不是静态的,而是根据波动率动态调整。

我想要编码的是

  1. 从雅虎财经获取股票数据(每月收盘)
  2. 计算每月波动率X一些常数 - >使用动态移动平均周期的变量
  3. 计算动态移动平均值
  4. 我已尝试过此代码,但只是失败了。我不知道问题是什么。如果您知道问题或任何更好的代码建议,请告诉我。

    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    import pandas_datareader.data as web
    
    def price(stock, start):
        price = web.DataReader(name=stock, data_source='yahoo', start=start)['Adj Close']
        price = price / price[0]
        a = price.resample('M').last().to_frame()
        a.columns = ['price']
        return a
    
    
    a = price('SPY','2000-01-01')
    a['volperiod'] = round(a.rolling(12).std()*100)*2
    for i in range(len(a.index)):
        k = a['price'].rolling(int(a['volperiod'][i])).mean()
        a['ma'][i] = k[i]
    
    print(a)
    

1 个答案:

答案 0 :(得分:1)

首先:您需要计算pct_change上的price来计算volatility的{​​{1}}

我的解决方案

returns