【问题标题】:How to remove overnight returns from intraday data using pandas如何使用 pandas 从盘中数据中删除隔夜收益
【发布时间】:2014-10-01 01:41:26
【问题描述】:

我有一个 Pandas DataFrame,其中包含几个月的日内价格数据(交易量加权,按分钟汇总)。

In[1]: VWAPData
Out[93]: 
Prices
2014-02-03 09:30:00    10.450000
2014-02-03 11:04:00    10.450000
2014-02-03 12:28:00    10.326600
2014-02-03 13:31:00    10.290000
2014-02-03 13:44:00    10.326500
...
2014-07-31 13:08:00    15.8500
2014-07-31 13:10:00    15.8600
2014-07-31 13:44:00    15.8600
2014-07-31 15:44:00    15.9101
2014-07-31 15:58:00    15.9300

如您所见,有些分钟没有数据(由于没有交易)。

我想计算每个数据点之间的回报,忽略隔夜回报。我不能假设第一笔交易每天都在同一时间发生。我怎样才能做到这一点?

【问题讨论】:

    标签: python pandas finance quantitative-finance


    【解决方案1】:

    退货是什么意思?一个条目和下一个条目之间的价格差异?还是百分比差异?

    如果是这样(我会计算价格之间的差异),我可以考虑一种迭代方法。有人可能有更好的。让“df”是您的数据框名称,“时间”是存储进入时间的字段,而“价格”是带有价格的字段。还有那个“时间”存储日期时间类型

    df['Return'] = np.NaN
    for i in xrange(len(df)):
        if i ==0: break
        if df['Time'].iat[i].day == df['Time'].iat[i-1].day:
            df['Return'].iat[i] = df['Price'].iat[i] - df['Price'].iat[i-1]
    

    这样可以避免隔夜退货。看看是不是盘中(当天一样)

    【讨论】:

      猜你喜欢
      • 2013-12-30
      • 2021-05-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2013-01-17
      • 2013-06-01
      相关资源
      最近更新 更多