接口来自官方文档之基金历史行情,要获取ETF历史行情需要2步:
- 获取ETF列表;
- 根据列表,获取目标ETF的symbol;
通过ak.fund_etf_category_sina()接口获取ETF列表,并保存CSV文档以便查阅,代码如下:
etf = ak.fund_etf_category_sina(symbol="ETF基金")
etf.to_csv("sina_etf_list.csv", encoding='utf-8-sig')
打开CSV文档,即可搜索目标ETF,比如恒生医疗ETF的symbol="sh513060",如下表所示:
504 | sh513090 | 香港证券ETF |
505 | sh513080 | 法国CAC40ETF |
506 | sh513060 | 恒生医疗ETF |
507 | sh513050 | 中概互联网ETF |
508 | sh513030 | 德国ETF |
509 | sh513020 | 港股科技ETF |
通过symbol即可获取目标ETF历史行情,代码如下:
hkmi = ak.fund_etf_hist_sina(symbol="sh513060")
数据返回如下图所示:
通过plotly画图库可得到恒生医疗ETF的历史收盘价格。
import plotly.express as px
import plotly.graph_objects as go
fig = px.line(hkmi, x="date", y="close", title='恒生医疗ETF收盘价')
fig.add_trace(go.Scatter(x=[hkmi['date'].iloc[-1]],
y=[hkmi['close'].iloc[-1]],
text=[hkmi['date'].iloc[-1]],
mode='markers+text',
marker=dict(color='red', size=10),
textfont=dict(color='green', size=10),
textposition='top left',
showlegend=False))
fig.add_trace(go.Scatter(x=[hkmi['date'].iloc[-1]],
y=[hkmi['close'].iloc[-1]],
text=[hkmi['close'].iloc[-1]],
mode='markers+text',
marker=dict(color='red', size=10),
textfont=dict(color='green', size=10),
textposition='bottom center',
showlegend=False))
fig.show()
图如下所示:
本文暂时没有评论,来添加一个吧(●'◡'●)