baostock主要是用量化交易者的一个开放数据的源头系统,其功能可以提供大量准确、完整的证券历史行情数据、上市公司财务数据等服务。利用python API获取证券数据信息,满足量化交易投资者、数量金融爱好者、计量经济从业者数据需求等,同样,普通交易者也是可以用来做股票数据的详细分析,就比如说想看股票均线图, 那就可以利用baostock均线数据把图形画出来,给交易者更加可观的数据分析。就比如利用程序把个股的实时均线情况用图形描绘出来,也就是K线图:
baostock均线数据的买点图像可以这样表示:
def show_buy_sell_list(buy_sell_list) -> None:
buy_date = []
buy_price = []
sell_date = []
sell_price = []
if buy_sell_list is not None:
for b_s in buy_sell_list:
buy_date.append(b_s['buy_date'])
buy_price.append(b_s['buy_price'])
sell_date.append(b_s['sell_date'])
sell_price.append(b_s['sell_price'])
描绘k线图代码:
import numpy as np
from matplotlib import pyplot as plt
股票l2接口显示K线可以运用:
def show_k_lines(df) -> None:
# 先是判断收盘价与开盘价 确定蜡烛颜色
colors_bool = df['Close'] >= df['Open']
colors = np.zeros(colors_bool.size, dtype='U5')
colors[:] = 'green'
colors[colors_bool] = 'white'
# 然后确定蜡烛边框颜色
edge_colors = np.zeros(colors_bool.size, dtype='U5')
edge_colors[:] = 'g'
edge_colors[colors_bool] = 'red'
plt.bar(df.index, (df['Close'] - df['Open']), 0.8, bottom=df['Open'], color=colors, edgecolor=edge_colors, zorder=2)
# 最后是绘制上下引线
这也是结合最初研发的股票l2数据接口类型的功能来编写,利用baostock还可以有更多其他方面的开发功能,就比如它的十档快照行情的获取:
baostock.StockQuoteRecord(十档行情快照)
字段名 | 类型 | 备注 |
stock_exchange | uint32 | 证券市场,见数据字典 |
stock_code | string | 证券代码 |
created_at | int64 | 快照日期时间戳(毫秒) |
status | uint32 | 状态:0-开盘前,1-开盘集合竞价,2-集合竞价至连续竞价,3-连续竞价, 4-中午休市,5-收盘集合竞价,6-闭市 |
prev_close_price | uint32 | 前收盘价 |
open_price | uint32 | 开盘价 |
latest_price | uint32 | 最新价 |
high_price | uint32 | 最高价 |
low_price | uint32 | 最低价 |
limit_up_price | uint32 | 涨停价 |
limit_down_price | uint32 | 跌停价 |
order_quantity | uint32 | 成交笔数 |
volume | uint64 | 成交数量 |
amount | uint64 | 成交金额 |
bid_volume | uint64 | 委托买入数量 |
bid_price | uint32 | 委托买入加权平均价 |
ask_volume | uint64 | 委托卖出数量 |
ask_price | uint32 | 委托卖出加权平均价 |
bid_price_detail | repeated uint32 | 委托买入价格明细(十档) |
bid_volume_detail | repeated uint32 | 委托买入数量明细(十档) |
ask_price_detail | repeated uint32 | 委托卖出价格明细(十档) |
ask_volume_detail | repeated uint32 | 委托卖出数量明细(十档) |
执行示例: