我对Python非常陌生,希望构建一个黑箱股票交易程序,该程序可以发现股票收益率之间的各种相关性,并给出买入、卖出、持有等响应。我发现了一个简单易用的Python模块,用于检索股票数据,称为ystockquote,从雅虎获取信息!金融。该模块位于http://www.goldb.org/ystockquote.html。在
它的能力之一是以['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Clos']
的形式输出股票的历史价格。我可以给它一个日期范围来做这件事,它给我一个嵌套的列表,其中包含一个单独的列表,其中包含每天的上述信息。在
我的问题是如何将这些独立的数据点(Date、Open、High、Low等)组织成一个结构,以便稍后在脚本中调用并进行排序。我需要这个过程易于自动化。我觉得什么样的算法或数据结构有用?在
您可能需要的是dictionary结构,而不是列表:
在这里,我在主“prices”字典的每个条目中嵌套了一个字典。字典的第一级将日期作为其键,并映射到包含该日期的价格信息的字典。在
^{pr2}$字典的第二级使用属性名作为键,并映射到属性值本身。在
似乎对于您所指的
get_historical_prices
函数,每天都以[Date, Open, High, Low, Close, Volume, Adj_Clos]
的形式输出。如果你想为这些词条的列表建立一个字典,你需要做三件事:首先,您需要为每个条目编制索引,以便将
Date
与其他元素分开,因为这是您将用来索引dict的第一个维度的内容。您可以使用entry[0]
获得第一个元素,并使用entry[1:]
获取其余元素。在其次,由于您希望将其他每个元素与一个特定的键相关联,因此应该按照数据元素的顺序列出这些键的列表。使用},从每个列表中取第i个元素并生成{}。通过这种方式,您可以创建(键、值)对的列表,并将其传递给字典构造函数:
zip()
函数可以组合两个列表p
和{最后,您需要构建字典,并将其索引到整个历史记录中相应的日期:
您可以通过两种方法迭代嵌套的
history
列表来构造字典,第一种方法是使用传统的for
循环:或者,如果您想尝试更高级的Python技术,请尝试嵌套dict generator statement:
如果你不熟悉编程的话,最后一个是很糟糕的,但是我鼓励你阅读这个链接;记住,当用Python编程时,Google是你的朋友。我希望我在这里给了你足够的关键词和想法来开始学习,剩下的就交给你了。在
给定一个长度相等的列表,按任何“列”进行排序非常容易:
key
关键字参数接受一个函数,该函数在给定列表项的情况下,返回一个用作排序键的值。在但是如果你想做更有趣的事情,你最好使用数据库。方便地(对我来说,^{} 文档使用了一个股票表作为示例,我对其进行了适当修改:
^{pr2}$相关问题 更多 >
编程相关推荐