基本信息
源码名称:baostock.com网站的股票数据获取方法
源码大小:1.35KB
文件格式:.zip
开发语言:Python
更新时间:2021-08-03
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

通过baostock.com网站的股票数据获取方法


=====baostock.com==股票数据获取=====

import baostock as bs
import pandas as pd

#### 登陆系统 ####
lg = bs.login(user_id="anonymous", password="123456")


#### 获取历史K线数据 ####
# 详细指标参数,参见“历史行情指标参数”章节
rs = bs.query_history_k_data("sz.000001",
                             "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST",
                             start_date='2000-06-01', end_date='2021-7-30',
                             frequency="d", adjustflag="3")  # frequency="d"取日k线,adjustflag="3"默认不复权
print('query_history_k_data respond error_code:' rs.error_code)
print('query_history_k_data respond  error_msg:' rs.error_msg)

#### 打印结果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():
    # 获取一条记录,将记录合并在一起
    data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
#### 结果集输出到csv文件 ####
# result.to_csv("D:/history_k_data.csv", encoding="gbk", index=False)
print(result)


===============================、

import pandas as pd
import numpy as np
from pandas_datareader import data, wb
import matplotlib.pyplot as plt

# 导入数据
df=pd.read_csv('E:\EURUSD1440.csv',parse_dates=True)

# 设置列名
df.columns = ['date', 'time', 'open', 'high', 'low', 'close', 'volumn']

# 把 date 和 time 合并起来作为 index
df['datetime'] = df['date'] ' ' df['time']
df.datetime = pd.to_datetime(df.datetime)
df = df.set_index('datetime')

startDate = '2021-06-01'
endDate = '2021-07-30'
df = df.loc[startDate: endDate]

sp500=df

sp500['42d'] = np.round(sp500['close'].rolling(window=10, center=False).mean(), 2)
sp500['252d'] = np.round(sp500['close'].rolling(window=20, center=False).mean(), 2)
sp500[['close', '42d', '252d']].plot(grid=True, figsize=(8,5))
sp500['42-252'] = sp500['42d'] - sp500['252d']
# 生成投资体制 Regime
SD = 50
sp500['Regime'] = np.where(sp500['42-252'] > SD, 1, 0)
sp500['Regime'] = np.where(sp500['42-252'] < -SD, -1, sp500['Regime'])
sp500['Regime'].plot(lw=1.5)
plt.ylim([-1.1, 1.1])

sp500['Market'] = np.log(sp500['close']/sp500['close'].shift(1))
sp500['Stragety'] = sp500['Regime'].shift(1) * sp500['Market']
sp500[['Market', 'Stragety']].cumsum().apply(np.exp).plot(grid=True, figsize=(8, 5))

plt.show()