這個API可以取得價格的排名,
步驟如下:
(1)匯入需要的庫
import pandas as pd
import shioaji as sj
(2)登入永豐證券帳密
api = sj.Shioaji(simulation=True)
api.login(
person_id='PAPIUSER01',
passwd='2222',
contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done.")
)
(3)使用Scanners API,
scanner_type是型態這邊使用的是總金額型態、count是你要查看的排名數,
與上篇不同scanner_type這次是使用ChangePriceRank
scanner = api.scanners(
scanner_type = sj.constant.ScannerType.ChangePriceRank,
count = 5
)
(4)上一篇有發現這個方法回傳的資料有點多,
用pandas顯示會被省略一些欄位,
因為預設顯示長度為50,
所以今天我們要額外設定一些參數再使用pandas整理。
(將顯示寬度、列數、行數三個參數做調整)
pd.set_option('display.width',200)
pd.set_option('display.max_rows',None)
pd.set_option('display.max_columns',None)
scanner_df = pd.DataFrame(scanner)
scanner_df.ts = pd.to_datetime(scanner_df.ts)
(5)最後再進行打印,結果如下
print(scanner_df)
設定這些參數讓整個顯示更清楚,大家可以學起來!