(获取更多资料和代码源文件可关注gzh‘finance褪黑素’按自动回复获取)
安装Anaconda:
首先,前往Anaconda官网(https://www.anaconda.com/products/individual)下载适用于你操作系统的Anaconda安装程序。
运行下载的Anaconda安装程序。根据安装向导的指示进行安装。在安装过程中,你可以选择是否将Anaconda添加到系统的环境变量中。
安装完成后,打开终端(对于Windows用户是Anaconda Prompt或者命令提示符),输入以下命令,验证Anaconda是否成功安装:
conda --version
启动Jupyter Notebook:
在终端中,输入以下命令启动Jupyter Notebook:
jupyter notebook
Jupyter Notebook服务器会在默认浏览器中打开一个新页面。你将在这个页面上进行所有的Jupyter Notebook交互操作。
在页面的右上角,你可以点击“New”按钮,然后选择“Python 3”来创建一个新的Python 3的Notebook。
安装爬虫相关的库
在终端(对于Windows用户是Anaconda Prompt或者命令提示符)输入以下命令安装相关库名。
pip install 库名
选取股票代码为 ‘002549’,‘600008’,‘300332’,‘300055’,'600292’进行调用,生成的DataFrame格式的数据如下,横轴为不同股票,纵轴为时间序列(2020-11-01至 2021-11-01)
# 导入需要的包
import pandas as pd
import tushare as ts
import numpy as np
import matplotlib.pyplot as plt #绘图
symbols = [ '002549','600008','300332','300055','600292']#里面为股票、指数代码
noa = len(symbols)
indexes = pd.date_range('2020-11-01', '2021-11-01')
data = pd.DataFrame(index=indexes)
for sym in symbols:
k_d = ts.get_k_data(sym, '2019-01-01', ktype='D')
k_d['date'] = k_d['date'].astype('datetime64[ns]')
k_d.set_index('date', inplace=True)
data[sym] = k_d['close'] //这里选择每只股票的收盘价组成data
data = data.dropna()
# 简单查看一下股票数据:
data.head()
# 保存数据
data.to_csv('价格数据.csv')
使用baostock库可获取单支股票的详细信息。比如open(开盘价)、high(当日最高价)、low(当日最低价)、preclose(前一日收盘价)、pctChg(涨跌幅)等。
生成数据的格式如下,以时间序列为索引,不同数据元素为横轴。
import baostock as bs
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime, date
# 登陆系统
lg = bs.login()
code = 'sh.000300'
start = '2022-01-01'
end = '2023-07-01'
# 获取指数基金指数历史数据
# 沪深300指数
hs300_price = bs.query_history_k_data_plus(code, "date,code,open,high,low,close,preclose,pctChg",
start_date=start, end_date=end, frequency="d")
# 整合为DataFrame格式
data_list = []
while (hs300_price.error_code == '0') & hs300_price.next():
data_list.append(hs300_price.get_row_data())
hs300 = pd.DataFrame(data_list, columns=hs300_price.fields)
# 保存数据
hs300.to_csv('沪深300.csv')
生成格式如下图所示:
import pandas as pd
import numpy as np
import datetime
from matplotlib import pyplot as plt
import akshare as ak
#获取A股全部股票数据 存储到stock_basic.csv
stock_zh=ak.stock_zh_a_spot()
stock_zh.to_csv("stock_basic.csv")
stock_zh[stock_zh["名称"]=="复星医药"]
stock_daily = ak.stock_zh_a_hist(symbol="600196", period="daily", start_date="20220629", end_date='20230629', adjust="qfq")
close_price=stock_daily[["日期","收盘","最高","最低"]]
close_price.set_index("日期",inplace=True)
# 保存数据
close_price.to_csv('600196.csv')
(获取更多资料和代码源文件可关注gzh‘finance褪黑素’按自动回复获取)
#获取现金流量表
stock_financial_report_sina_df = ak.stock_financial_report_sina(stock="600196", symbol="现金流量表")
geli_sheet1=stock_financial_report_sina_df[stock_financial_report_sina_df["报表日期"]=="20221231"]
# 保存数据
stock_financial_report_sina_df.to_excel('600196现金流量表.xlsx')
#获取利润表
stock_financial_report_sina_lrb = ak.stock_financial_report_sina(stock="600196", symbol="利润表")
geli_sheet2=stock_financial_report_sina_lrb[stock_financial_report_sina_lrb["报表日期"]=="20221231"]
# 保存数据
stock_financial_report_sina_lrb.to_excel('600196利润表.xlsx')
#获取资产负债表
stock_financial_report_sina_lrb = ak.stock_financial_report_sina(stock="600196", symbol="资产负债表")
geli_sheet3=stock_financial_report_sina_lrb[stock_financial_report_sina_lrb["报表日期"]=="20221231"]
# 保存数据
stock_financial_report_sina_lrb.to_excel('600196资产负债表.xlsx')
(获取更多资料和代码源文件可关注gzh‘finance褪黑素’按自动回复获取)