iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0

這個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)

https://ithelp.ithome.com.tw/upload/images/20210924/20107848ciTtpCpFuD.jpg

設定這些參數讓整個顯示更清楚,大家可以學起來!


上一篇
Scanners API-總金額篇
下一篇
Scanners API-Day Range Rank && Percent Rank
系列文
視覺化跨平台Client與永豐金融證券APIs30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言