Akshare是一個非常好用的開源A股數據獲取模塊,它是基于 Python 的財經數據接口庫,目的是實現對A股、美股、期貨等金融產品的基本面數據、實時和歷史行情數據、衍生數據從數據采集、數據清洗到數據落地的一套工具,主要用于學術研究目的。
今天我們就來學習用它獲取可轉債的相關數據。
1.準備
開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。
**(可選1) **如果你用Python的目的是數據分析,可以直接安裝Anaconda:Python數據分析與挖掘好幫手—Anaconda,它內置了Python和pip.
**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優點:Python 編程的最好搭檔—VSCode 詳細指南。
請選擇以下任一種方式輸入命令安裝依賴 :
- Windows 環境 打開 Cmd (開始-運行-CMD)。
- MacOS 環境 打開 Terminal (command+空格輸入Terminal)。
- 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install akshare --upgrade
目前 AKShare 僅支持 Python 3.7(64 位) 及以上版本。如果遇到 xxx has no attribute xxx, 大概率是Python版本的問題。
2.獲取基本信息
獲取滬深可轉債的基本信息,基本信息中包括債券代碼、債券簡稱、申購日期、申購代碼、申購上限、正股代碼、正股簡稱、正股價、轉股價、轉股價值、債現價、轉股溢價率、發行規模、中簽號發布日、中簽率、上市時間等信息。:
import akshare as ak
bond_zh_cov_df = ak.bond_zh_cov()
print(bond_zh_cov_df)
一個使用小示例:如果你想要將可轉債代碼和正股代碼對應起來:
# 公眾號:二七阿爾量化
import akshare as ak
bond_zh_cov_df = ak.bond_zh_cov()
code_map = bond_zh_cov_df.set_index("債券代碼")
code_map = code_map.to_dict()
cb_stock_code = code_map["正股代碼"]
print(cb_stock_code)
效果如下:
{'113652': '603568', '118015': '688595', '127067': '000703', '123153': '300956', '123152': '300727', '113651': '603992', '118014': '688556', '113061': '601689', '118013': '688208', '127066': '002850', '118012': '688321', '118011': '688689', '113650': '603916', '123151': '300869', '123150': '300406', '118010': '688026', '113649': '603810', '118009': '688059', .....}
在code_map.to_dict()后的變量里,我們可以獲取可轉債代碼與其任意字段的map字典, 比如轉股溢價率:
# 公眾號:二七阿爾量化
import akshare as ak
bond_zh_cov_df = ak.bond_zh_cov()
code_map = bond_zh_cov_df.set_index("債券代碼")
code_map = code_map.to_dict()
cb_stock_code = code_map["正股代碼"]
temp_data = code_map["轉股溢價率"]
print(temp_data)
# {'113652': 4.55, '118015': 7.98, '127067': 12.66, '123153': 7.61, '123152': -4.81, '113651': 3.24, '118014': 1.19, '113061': -17.82, '118013': 10.36, '127066': 0.6, '118012': 2.55, '118011': 9.79, '113650': 19.75, '123151': 34.24, '123150': 26.08, '118010': 15.41, '113649': 34.8, '118009': 41.44, '111005': 15.72, '118008': 42.31, '110087': 31.92 ......
3.獲取行情數據
獲取可轉債的日線行情:
import akshare as ak
bond_zh_hs_cov_daily_df = ak.bond_zh_hs_cov_daily(symbol="sh113542")
print(bond_zh_hs_cov_daily_df)
# date open high low close volume
# 4 2019-08-29 108.68 108.99 108.56 108.71 69900
# .. ... ... ... ... ... ...
# 705 2022-07-22 110.03 110.86 110.03 110.40 50830
# [706 rows x 6 columns]
獲取可轉債分鐘級行情數據:
import akshare as ak
bond_zh_hs_cov_min_df = ak.bond_zh_hs_cov_min(symbol="sz123124", period='1', adjust='', start_date="1979-09-01 09:32:00", end_date="2222-01-01 09:32:00")
print(bond_zh_hs_cov_min_df)
# 時間 開盤 收盤 ... 成交量 成交額 最新價
# 0 2022-07-22 09:30:00 116.200 116.200 ... 67 77854.0 116.2000
# .. ... ... ... ... ... ... ...
# 239 2022-07-22 14:59:00 116.000 116.000 ... 0 0.0 115.7802
# 240 2022-07-22 15:00:00 116.000 116.000 ... 97 112520.0 115.7819
bond_zh_hs_cov_min 支持以下參數:symbol(轉債代碼)、period(分鐘級數據周期)、adjust(復權類型)、start_date(起始時間)、end_date(終止時間)。
其中 period 支持 '1', '5', '15', '30', '60' 分鐘級數據。
adjust 支持前復權("qfq"), 后復權("hfq"), 或不復權(空值 "")。
4.可轉債比價表
可轉債比價表中有轉股溢價率、純債溢價率以及贖回強贖的觸發價,有時候也是我們參考的重要指標:
import akshare as ak
bond_cov_comparison_df = ak.bond_cov_comparison()
print(bond_cov_comparison_df)
# 序號 轉債代碼 轉債名稱 轉債最新價 ... 純債價值 開始轉股日 上市日期 申購日期
# 0 1 113652 偉22轉債 - ... - 20230130 - 20220722
# 1 2 127067 恒逸轉2 - ... 88.8369 20230127 - 20220721
# 2 3 123153 英力轉債 - ... 95.5621 20230130 - 20220721
除了這些數據以外,akshare中還有可轉債價值分析、溢價率分析數據,以及集思錄相關數據,大家有興趣可以訪問akshare文檔查看:
https://www.akshare.xyz/data/bond/bond.html
-
模塊
+關注
關注
7文章
2735瀏覽量
47754 -
數據
+關注
關注
8文章
7145瀏覽量
89587 -
開源
+關注
關注
3文章
3408瀏覽量
42714
發布評論請先 登錄
相關推薦
評論