用python-pandas提取股票期权数据的做法不攻自破

2024-06-07 09:53:17 发布

您现在位置:Python中文网/ 问答频道 /正文

昨晚我打了以下内容

from pandas.io.data import Options
import csv

symList = []
optData = {}

with open('C:/optionstrade/symbols.txt') as symfile:
    symreader = csv.reader(symfile, delimiter=',')
    for row in symreader:
        symList = row

for symbol in symList:
    temp = Options(symbol,'yahoo')
    try:
        optData[symbol] = temp.get_all_data()
    except:
        pass

它工作得很好。我只从文件中的400多个符号中得到了200个左右的数据,但它提取了200多个符号的选项数据。在

今天早上,我再次运行代码(市场已经开放了将近一个小时),但我什么也没有得到:

^{pr2}$

所以我做了一个测试:

test = Options('AIG','yahoo')
spam = test.get_all_data()
import pickle
with open('C:/optionstrade/test.txt','w') as testfile:
    pickle.dump(test,testfile)

我得到这个错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-902aa7c31f7e> in <module>()
      1 test = Options('AIG','yahoo')
----> 2 spam = test.get_all_data()

C:\Anaconda\lib\site-packages\pandas\io\data.pyc in get_all_data(self, call, put)
   1109 
   1110             for month in months:
-> 1111                 m2 = month.month
   1112                 y2 = month.year
   1113 

AttributeError: 'str' object has no attribute 'month'

pickled文件的以下内容:

ccopy_reg
_reconstructor
p0
(cpandas.io.data
Options
p1
c__builtin__
object
p2
Ntp3
Rp4
(dp5
S'symbol'
p6
S'AIG'
p7
sb.

一夜之间没有什么改变。。。我做的最后一件事就是保存并关闭。我醒来后做的第一件事就是再次运行它。在


Tags: iniotestimportpandasfordataget

热门问题