pycharm运行不了数据

pycharm运行不了数据,谢谢

# -*- coding: utf-8 -*-
import backtrader as bt
import pandas as pd
from datetime import datetime

if __name__ == '__main__':
    cerebro = bt.Cerebro()
    # 获取数据
    stock_hfq_df = pd.read_csv("C:/Users/18368/Desktop/新建文件夹 (2)/sz300001.csv", index_col='date', parse_dates=True)

    start_date = datetime(2010, 9, 30)  # 回测开始时间
    end_date = datetime(2021, 9, 30)  # 回测结束时间
    data = bt.feeds.PandasData(dataname=stock_hfq_df, fromdate=start_date, todate=end_date)  # 加载数据
    cerebro.adddata(data)  # 将数据传入回测系统


错误;ValueError: 'date' is not in list

看下你的csv文件中第一行是不是header头,若是header头看下有没有date

该回答引用GPTᴼᴾᴱᴺᴬᴵ
根据你提供的代码,你的DataFrame对象名为 stock_hfq_df,其中的时间列为 date。但是,在 PandasData 加载数据时指定的 index_col 参数应该是一个列名的字符串,用于在 DataFrame 中选择日期列。所以,将 index_col='date' 更改为 index_col=0,即:

# -*- coding: utf-8 -*-
import backtrader as bt
import pandas as pd
from datetime import datetime
 
if __name__ == '__main__':
    cerebro = bt.Cerebro()
    # 获取数据
    stock_hfq_df = pd.read_csv("C:/Users/18368/Desktop/新建文件夹 (2)/sz300001.csv", index_col='date', parse_dates=True)
 
    start_date = datetime(2010, 9, 30)  # 回测开始时间
    end_date = datetime(2021, 9, 30)  # 回测结束时间
    data = bt.feeds.PandasData(dataname=stock_hfq_df, fromdate=start_date, todate=end_date, index_col=0)  # 加载数据
    cerebro.adddata(data)  # 将数据传入回测系统


这应该可以解决你的问题。