首页 > 解决方案 > 一起使用加密和股票 OHLCV 数据。如何处理非交易缺口以避免指数和指标问题?

问题描述

您好交易和编程专家!

我需要您在同一策略中使用股票数据和加密数据方面的专业知识。我对非交易时间的差距有疑问。假设我们处于每日时间范围内(为了简单起见,希望它也能在日内工作):

monday = close_crypto[1]
tuesday = close_crypto[2]
wednesday = close_crypto[3]
thursday = close_crypto[4]
friday= close_crypto[5]
saturday = close_crypto[6]
sunday = close_crypto[7]
monday = close_stocks[1]
tuesday = close_stocks[2]
wednesday = close_stocks[3]
thursday = close_stocks[4]
friday= close_stocks[5]
saturday = close_stocks[6]  # not available = np.nan 
sunday = close_stocks[7]  # not available = np.nan 

self.index == 6我们开始遇到问题。我们不能把它留空(去掉NaNs),因为这样索引就不再与日期匹配了。例如self.index == 6,加密蜡烛是 2020 年 10 月 17 日,股票蜡烛是 2020 年 10 月 19 日。

如果我们np.nan再次将其设置为索引匹配,但计算平均值之类的指标不适用于数组。如果我们将“缺失”蜡烛设置为最后存在的蜡烛值(= 前向填充),我们会得到不同/错误的指标值。

你怎么处理?我现在的想法是:

  1. 前向填充 stock_data,但保留旧数组用于指标计算:stock_data_with_nan
  2. 对于股票的指标计算,我需要一个助手,它使用 stock_data_with_nan,但在计算中跳过 np.nan,然后返回前向填充的指标数据。

你觉得呢?你有没有什么想法?对于不连续序列辅助函数,我还需要一些 NumPy 专家的帮助。

想过这样的事情:

discontinuous_series_helper(lambda series: ta.sma(series, 20), close_stocks_with_NaN)

谢谢大家!

标签: pythonnumpyalgorithmic-tradingcryptocurrency

解决方案


推荐阅读