Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x TypeError:';的操作数类型不受支持;str';和';日期偏移量';_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 3.x TypeError:';的操作数类型不受支持;str';和';日期偏移量';

Python 3.x TypeError:';的操作数类型不受支持;str';和';日期偏移量';,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我正在尝试使用金融交易的回溯测试功能 问题是当我将自己的数据“price_data”输入到它们的函数中时,会抱怨操作数类型 提前感谢您的支持 !pip install bt import bt print(EURUSD_df[['close']]) close 2018-01-01 1.20580 2018-01-02 1.20144 2018-01-03 1.20683 2018-01-04 1.20297 2018-01-07 1.19687 ...

我正在尝试使用金融交易的回溯测试功能

问题是当我将自己的数据“price_data”输入到它们的函数中时,会抱怨操作数类型

提前感谢您的支持

!pip install bt
import bt

print(EURUSD_df[['close']])

              close
2018-01-01  1.20580
2018-01-02  1.20144
2018-01-03  1.20683
2018-01-04  1.20297
2018-01-07  1.19687
...             ...
2018-12-27  1.14448
2018-12-30  1.14649
2019-01-01  1.13447
2019-01-02  1.13942
2019-01-03  1.13951

[262 rows x 1 columns]

price_data=EURUSD_df[['close']]

bt_strategy = bt.Strategy('EMA_crossover',
                          [bt.algos.WeighTarget(signal),
                          bt.algos.Rebalance()])

bt_backtest = bt.Backtest(bt_strategy,price_data)
bt_result = bt.run(bt_backtest)
bt_result.plot(title='Backtest result')

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-34-11f7c3d37d7c> in <module>()
----> 1 bt_backtest = bt.Backtest(bt_strategy,price_data)
      2 bt_result = bt.run(bt_backtest)
      3 bt_result.plot(title='Backtest result')

1 frames
/usr/local/lib/python3.7/dist-packages/bt/backtest.py in _process_data(self, data, additional_data)
    173                     np.nan,
    174                     columns=data.columns,
--> 175                     index=[data.index[0] - pd.DateOffset(days=1)],
    176                 ),
    177                 data,

TypeError: unsupported operand type(s) for -: 'str' and 'DateOffset'
!pip安装bt
进口英国电信
打印(欧元兑美元_df['关闭]]
关闭
2018-01-01  1.20580
2018-01-02  1.20144
2018-01-03  1.20683
2018-01-04  1.20297
2018-01-07  1.19687
...             ...
2018-12-27  1.14448
2018-12-30  1.14649
2019-01-01  1.13447
2019-01-02  1.13942
2019-01-03  1.13951
[262行x1列]
价格数据=欧元兑美元df[['收盘]]
bt_策略=bt.strategy(“EMA_交叉”,
[bt.algos.WeightTarget(信号),
bt.algos.Rebalance())
bt_backtest=bt.backtest(bt_策略、价格数据)
bt_结果=bt.run(bt_回溯测试)
bt_结果图(title='Backtest result')
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1 bt_backtest=bt.backtest(bt_策略、价格数据)
2 bt_结果=bt.run(bt_回测)
3 bt_结果图(title='Backtest result')
1帧
/usr/local/lib/python3.7/dist-packages/bt/backtest.py在进程数据中(self、data、附加数据)
北卡罗来纳州南部173号,
174列=data.columns,
-->175索引=[data.index[0]-pd.DateOffset(天数=1)],
176                 ),
177数据,
TypeError:-:“str”和“DateOffset”的操作数类型不受支持

i我不是bt库的专家,但在我看来问题在于df中的索引被解释为字符串而不是日期时间类型。您可以查看
df.info(verbose=False)
来确定索引的数据类型吗?