编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

「量化」AkShare之ETF历史行情(etf量化策略能赚钱吗)

wxchong 2024-09-02 03:54:43 开源技术 10 ℃ 0 评论

接口来自官方文档之基金历史行情,要获取ETF历史行情需要2步:

  1. 获取ETF列表;
  2. 根据列表,获取目标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()


图如下所示:


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表