前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 在Finance上的应用1- 获取股票价格

python 在Finance上的应用1- 获取股票价格

作者头像
用户6021891
发布2020-02-10 18:08:40
1.4K0
发布2020-02-10 18:08:40
举报
文章被收录于专栏:万能的小草万能的小草

从大二开始接触A股,有幸见证了15年疯牛,最后落荒而逃,现在工作了又开始买入,可惜大A真是专治各种不服。。。现在的行情真是越来越难做了,所以还是想多多利用手头上的Python来换一套投资理念。接下来的文章,是我从Google上看到的,个人翻译给国内的好友们,希望大家喜欢。

您好,欢迎来到Python for Finance系列教程。在本系列中,我们将使用Pandas框架来介绍将金融(股票)数据导入Python的基础知识。从这里开始,我们将分析数据,利用机器学习(MachineLearning),甚至是深度学习(DeepLearning ),然后学会回测(Back-test)策略,从而试图想出一些投资公司的理念。假设你知道Python的基本原理。如果您不确定,请点击 fundamentals,查看系列中的一些内容来进行判断。在任何时候您对某个主题或概念感到困惑,请随时寻求帮助,我将尽我所能提供帮助。

经常被问道,“是否通过这些技术获利投资或交易?”我主要是 play with finance data for fun and practice my data analysis skills,但实际上这也影响了我今天的投资理念。在写这篇文章的时候,我并没有用编程来进行算法交易,但是已经有了实际的盈利,况且在算法交易方面还有很多工作要做。最终,通过如何分析财务数据以及回测交易数据修正模型的方式已经为我省了很多钱。

这里提出的策略并不会使你成为一个超富有的人。如果可能的话,我肯定会把它们留给自己用!然而,掌握这些却可以为你省钱,甚至可以使你赚钱。

好吧,让我们开始吧。首先,我正在使用Python 3.5,但你应该能够下载安装更高版本。假设你已经安装了Python。并且是64位的操作系统。如果你使用的是32位操作系统,那么我感到抱歉,不过在本节中应该没什么问题。

必须安装的模块

  1. Numpy
  2. Matplotlib
  3. Pandas
  4. Pandas-datareader
  5. BeautifulSoup4
  6. scikit-learn / sklearn

如果你想进一步了解Matplotlib模块,请点击 DataVisualization with Matplotlib tutorial series.

如果你想进一步了解Pandas模块, 请点击 the Data Analysis with Pandas tutorial series.

1. 首先,导入下述模块:

代码语言:javascript
复制
import datetime as dtimport matplotlib.pyplot as pltfrom matplotlib import styleimport pandas as pdimport pandas_datareader.data as web

Datetime让我们很便捷的使用日期函数,matplotlib用来绘制图形,pandas来分析数据,pandas_datareader是写这篇文章时最新的pandas io库。

2. 参数设置:

代码语言:javascript
复制
style.use('ggplot')start = dt.datetime(2000,1, 1)end = dt.datetime(2016,12, 31)

通过设定style,使得图形看起来美观。在金融领域,即使你亏本,好看的图表也非常重要的(作者注:赔本赚吆喝)。接下来,设置一个开始和结束的日期时间对象,这将是我们要获取股票价格信息的日期范围。

3. 创建dataframe:

代码语言:javascript
复制
df = web.DataReader('TSLA',"yahoo", start, end)

如果您目前不熟悉DataFrame对象,可以通过查看Pandas,,可以将其想象为电子表格或者存储器/ RAM中的数据库表。这是一个table,并且存在索引及列名。在本文里,索引是日期。是与所有列相关的东西。

web.DataReader('TSLA','yahoo',start,end)这行调用了pandas_datareader包,从yahoo上查找股票代码TSLA(Tesla),以start表示的起始日期,以end 为结束日期的数据。股票是公司所有权的一部分,股票代码是公司在证券交易所上的“符号”。大多数代号是1-4个字母。

因此现在我们有一个Pandas.DataFrame对象,它包含特斯拉的股票定价信息。让我们看看里面的内容:

代码语言:javascript
复制
print(df.head())
代码语言:javascript
复制
Date              Open        High      Low          Close       Volume      Adj Close2010-06-29 19.000000  25.00  17.540001 23.889999  18766300  23.8899992010-06-30 25.790001  30.42  23.299999 23.830000  17187100  23.8300002010-07-01 25.000000  25.92  20.270000 21.959999   8218800  21.9599992010-07-02 23.000000  23.10  18.709999 19.200001   5139800  19.2000012010-07-06 20.000000  20.00  15.830000 16.110001   6866900  16.110001

.head()方法是来查看PandasDataFrames对象,它会输出前n行,其中n是你传递的可选参数。如果不传递参数,则默认值为5。

  1. 4. 数据可视化
代码语言:javascript
复制
import matplotlib.pyplot as pltfrom matplotlib import style
style.use('fivethirtyeight')
df['High'].plot()plt.legend()plt.show()

Pyplot是matplotlib基础画图模块. Style可以快速的美化图表, style.use使我们选择使用哪种style. 如果您想更进一步了解Matplotlib? 请点击in-depthMatplotlib tutorial series!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小草学Python和SQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档