我的目标是对财务数据进行时间序列分析。由于我在巴基斯坦证券交易所(PSX)工作,因此雅虎尚未提供数据。当我查看Quantopian的一些教程时,第一步,数据提取是通过雅虎财务完成的。 现在,当我使用PyFolio模块并在包含数据的csv(Panda's Function)中读取时,Pandas和PyFolio的日期时间格式存在问题。以下是我正在做的事情的代码。使用PyFolio和熊猫一起
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pyfolio as pf
import datetime
from datetime import datetime
from datetime import timedelta
start_date = '2015-02-01'
end_date = '2017-03-20'
live_date = '2017-03-15'
symbols = ['KEL']
def converter(start_date):
convert=datetime.strptime(start_date, "%Y-%m-%d")
return convert
def data(symbols):
dates=pd.date_range(start_date,end_date)
df=pd.DataFrame(index=dates)
df_temp=pd.read_csv('/home/furqan/Desktop/python_data/{}.csv'.format(str(symbols[0])),usecols=['Date','Close'],
parse_dates=True,index_col='Date',na_values=['nan'])
df_temp = df_temp.rename(columns={'Close': symbols[0]})
df=df.join(df_temp)
df=df.fillna(method='ffill')
df=df.fillna(method='bfill')
return df
new_date = converter (live_date)
df= data(symbols)
sheet = pf.create_returns_tear_sheet(df, live_start_date=new_date)
上面的代码会导致以下错误
TypeError: Cannot compare tz-naive and tz-aware timestamps
鉴于上述信息,我有两个问题。
1)如果我的PC上有数据,Quantopian可以对我的分析有什么好处?由于这些数据在雅虎财经上不可用。
2)上面的错误究竟意味着什么?我该如何解决这个错误。
以下是PyFolio和Pandas文档的链接。 https://quantopian.github.io/pyfolio/notebooks/single_stock_example/#fetch-the-daily-returns-for-a-stock
http://pandas.pydata.org/pandas-docs/stable/