下面是两种获取股票数据的方法,使用的编程语言是python。
1. 方法一
从“yahoo”获取“海通证券”(600837)的股票数据,时间从2020.1.1到今天(2020.8.21),代码如下。
import pandas as pd
import pandas_datareader.data as web
import datetime
from matplotlib import pyplot as plt
# 获取海通证券(600837)2020.1.1到今天(2020.8.21)的股票数据
data_csvsave = ('', 'yahoo', (2020,1,1), ())
# 将数据保存到本地
data_csvsave.to_csv(r'C:\Users\飘逸\Desktop\', columns= data_csvsave.columns, index=True)
# 打印数据
print(data_csvsave)
从下面的打印可以看出,使用这种方法获取的数据行索引是日期。一共有6列,包含了最基本的信息:最高价、最低价、开盘价、收盘价、成交量、调整后的价格。
High Low Open Close Volume Adj Close
Date
2020-01-02 15.97 15.55 15.75 15.63 143434282 15.63
2020-01-03 15.85 15.56 15.63 15.72 80840727 15.72
2020-01-06 15.97 15.50 15.55 15.80 104710832 15.80
2020-01-07 15.86 15.52 15.82 15.75 93989873 15.75
2020-01-08 15.20 15.20 15.20 15.20 104484186 15.20
... ... ... ... ... ... ...
2020-08-17 16.49 15.43 15.59 15.80 274110233 15.80
2020-08-18 15.88 15.51 15.82 15.61 128322856 15.61
2020-08-19 15.68 15.15 15.60 15.16 117824830 15.16
2020-08-20 15.16 14.90 15.05 14.98 78215581 14.98
2020-08-21 15.34 15.05 15.11 15.32 80749013 15.32
[155 rows x 6 columns]
2. 方法二
使用tushare模块获取“海通证券”(600837)的股票数据,时间从2020.1.1到2020.8.21。
import tushare as ts
import pandas as pd
# 设置最大列数,避免只显示部分列
pd.set_option('display.max_columns', 1000)
# 设置最大行数,避免只显示部分行数据
# pd.set_option('display.max_rows', 1000)
pd.set_option('', 1000)
# 设置每列最大宽度,避免属性值或列名显示不全
pd.set_option('display.max_colwidth',1000)
token = '' # 设置tocken
pro = ts.pro_api(token) # 初始化pro接口
# 获取数据
df_gldq = (ts_code='', start_date='20190101', end_date='20200821')
# 打印数据
print(df_gldq)
下面是打印的结果,与方法一相比,行索引是以0开始的序号。
ts_code trade_date open high low close pre_close change pct_chg vol amount
0 20200821 54.95 54.96 54.01 54.22 54.13 0.09 0.1663 382465.03 2074844.917
1 20200820 54.96 54.96 54.02 54.13 55.19 -1.06 -1.9206 626313.31 3399987.120
2 20200819 55.85 55.85 55.18 55.19 56.02 -0.83 -1.4816 500984.71 2777352.512
3 20200818 56.59 56.77 55.90 56.02 56.80 -0.78 -1.3732 618494.50 3474057.691
4 20200817 56.25 57.18 56.00 56.80 56.25 0.55 0.9778 677724.12 3845816.957
.. ... ... ... ... ... ... ... ... ... ... ...
150 20200108 66.60 69.67 66.60 68.80 67.32 1.48 2.1985 487808.96 3335825.897
151 20200107 66.17 67.55 66.00 67.32 65.88 1.44 2.1858 410765.95 2759986.206
152 20200106 66.80 67.07 65.00 65.88 67.10 -1.22 -1.8182 467802.55 3092810.584
153 20200103 68.38 68.70 66.90 67.10 67.90 -0.80 -1.1782 368703.73 2494833.314
154 20200102 65.99 68.09 65.90 67.90 65.58 2.32 3.5377 463614.43 3119667.657
[155 rows x 11 columns]