python获取股票_使用Python获取股票数据

时间:2024-10-25 08:18:06

下面是两种获取股票数据的方法,使用的编程语言是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]