python中的投资组合跟踪器

2024-10-02 14:30:27 发布

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

我正在使用pandas远程数据函数制作一个投资组合跟踪器,但是,在传递多个股票名称和股票代码时遇到了一个问题。在

我想按公司名称创建单独的数据帧,并尝试使用**kwargs,但对其工作原理有点模糊。在

我想我离得很近,但在某个地方遗漏了一些东西。在

def portfolio(startDateYE, startDateMonth, startDateDay, end_dateYE,
              end_dateMonth, end_dateDay,  **kwargs):
    '''insert desired started and ending date as 2014,1,1 and key value pairs
    of the stock you would like to look up, i.e. ford = "f" '''
    start = datetime.datetime(startDateYE, startDateMonth, startDateDay)
    end = datetime.datetime(end_dateYE, end_dateMonth, end_dateDay)
    for key, value in kwargs.items():
        key = web.DataReader("%s" % value,'yahoo', start, end)

我如何传入变量的可变量的示例:

^{pr2}$

我的目标是:

In [6]: ford.ix['2010-01-04']
Out[6]: 
Open         1.017000e+01
High         1.028000e+01
Low          1.005000e+01
Close        1.028000e+01
Volume       6.085580e+07
Adj Close    8.755953e+00
Name: 2010-01-04 00:00:00, dtype: float64

编辑时间:

def portfolio(startDateYE, startDateMonth, startDateDay, end_dateYE,
              end_dateMonth, end_dateDay,  **kwargs):
    '''insert desired started and ending date as 2014,1,1 and key value pairs
    of the stock you would like to look up, i.e. ford = "f" '''
    start = datetime.datetime(startDateYE, startDateMonth, startDateDay)
    end = datetime.datetime(end_dateYE, end_dateMonth, end_dateDay)
    results = {}  # this is an empty dictionary
    for key, value in kwargs.iteritems():
        results[key] = web.DataReader(value, key, 'yahoo', start, end)

    print(results)

编辑:

现在我得到以下错误:

`---------------------------------------------------------------------------

ValueError回溯(最近一次调用) 在() 34英寸' 35 --->;36个投资组合(2012,1,12013,1,1,facebook=“f”,google=“googl”) 37 38#调整后的_f=f[“Adj Close”]

投资组合(startDateYE,startDateMonth,startDateDay,end-dateYE,end-dateMonth,end-dateDay,**kwargs) 27 results={}这是一个空字典 28键,值输入夸格斯.iteritems(): --->;29个结果[关键]=web.DataReader(value,key,'yahoo',开始,结束) 30 31英寸'

/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/io/数据.pyc在DataReader中(名称、数据源、开始、结束、重试计数、暂停) 86 ff=数据读取器(“F-F”反转系数,“famafrench”) 87英寸 --->;88开始,结束=清理日期(开始,结束) 89 90如果数据源==“yahoo”:

/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/io/数据.pyc清理日期(开始、结束) 104定义消毒日期(开始、结束): 105来自pandas.core.datetools导入到日期时间 -->;106开始=结束日期时间(开始) 107结束=结束日期时间(结束) 108如果start为“无”:

/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/util/装饰工.pyc包装内(*args,**kwargs) 89其他: 90千瓦[new_arg_name]=新的_arg_值 --->;91返回函数(*args,**kwargs) 92退货包装 93退货

/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/tseries/工具.pyc在“截止日期时间”(arg、errors、dayfirst、yearfirst、utc、box、format、exact、force、unit、infer_datetime_格式) 285 yearfirst=第一年, 286 utc=utc,方框=方框,格式=格式,精确=精确, -->;287单位=单位,推断日期时间格式=推断日期时间格式) 288 289个

/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/tseries/工具.pyc在“到”日期时间(arg、errors、dayfirst、yearfirst、utc、box、format、exact、unit、freq、推断日期时间格式) 414 return_convert_listlike(参数、框、格式) 415 -->;416 return转换列表(np.数组([arg]),框,格式[0] 417 418年

/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/tseries/工具.pyc在转换列表中(参数、框、格式、名称) 400返回DatetimeIndex.\u simple\u new(值,name=name,tz=tz) 401除(ValueError,TypeError): -->;402升起e 403 404如果arg为None:

值错误:未知的字符串格式

谢谢你!在


Tags: keygtpandasdatetimevaluelibpackages格式
1条回答
网友
1楼 · 发布于 2024-10-02 14:30:27

问题是您一直覆盖键值,所以实际上只保存最后一个数据集。在

应该分别跟踪关键点及其结果,如下所示:

results = {}  # this is an empty dictionary
for key, value in kwargs.iteritems():
    results[key] = web.DataReader(value, key, start, end)

print(results)

相关问题 更多 >