iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
永豐金融APIs

深入解析 Shioaji API系列 第 4

Day 04 - Credit Enquires 與 Short Stock Source

  • 分享至 

  • xImage
  •  

本篇重點

  • Credit Enquires
  • Short Stock Source
  • Pandas Dataframe及時間轉換

由於Credit Enquires跟Short Stock Source,官方說明文件中並沒有太多的說明,所以會就我目前所知的部份做講解
Credit Enquires跟Short Stock Source,都是用來取得個股的相關資料,在取得時,要傳入一個Contract的List。

Credit Enquires

取得個股的Credit Enquires

contracts = [api.Contracts.Stocks['2330'], api.Contracts.Stocks['2409']] #建立一個Contract的List
credit_enquires = api.credit_enquires(contracts)

Credit Enquires 屬性說明

屬性 說明
stock_id 2330 股票代碼
margin_unit 4
short_unit 52
system HF 系統類別
update_time 2021/9/17 05:11:11 PM 更新日期及時間
因為目前還不了解Credit Enquires的實際用途是什麼,所以也不知道margin_unit跟short_unit這兩個欄位要怎麼翻譯比較洽當。

Short Stock Source

取得個股的Short Stock Source

contracts = [api.Contracts.Stocks['2330'], api.Contracts.Stocks['2409']] #建立一個Contract的List
short_stock_sources = api.short_stock_sources(contracts)
屬性 說明
code 2409 股票代碼
short_stock_source 65962 或有券張數
ts 1631874627000000000 更新時間
Short Stock Source就是所謂的或有券張數,這個張數,可以在好神通的「證券」>「帳務」中的「個股/資券」中查詢
https://ithelp.ithome.com.tw/upload/images/20210919/20140827uDIVFBntPO.png
這個數量指的就是現沖先賣(先賣後買),券商目前所提供的額度上限
而這個在iLeader中也有提到,若或有券張數不夠,在現沖先賣時就會跳出錯誤訊息
https://www.sinotrade.com.tw/ec/140630/3.pdf

Pandas Dataframe及時間轉換

在上面的範例中,可以看到Short Stock Source的更新時間(ts)這個屬性,屬性值是一個整數
ts指的就是timestamp,在後續抓取報價相關資料時,也都會有這個屬性
若要將timestamp轉換為我們看得懂的日期時間格式,可以透過Pandas
以上面的Short Stock Source為例,在取得Short Stock Source資料後,先將原有的資料轉換為DataFrame,再將ts欄位中的資料轉換為DateTime

from dotenv import load_dotenv
import os
import shioaji as sj
import pandas as pd #匯入pandas模組

load_dotenv('D:\\python\\shioaji\\.env')
api = sj.Shioaji()
api.login(
    person_id=os.getenv('YOUR_PERSON_ID'), 
    passwd=os.getenv('YOUR_PASSWORD')
)

contracts = [api.Contracts.Stocks['2330'],api.Contracts.Stocks['2890']]
short_stock_sources = api.short_stock_sources(contracts)
df = pd.DataFrame(short_stock_sources) #將short_stock_sources轉換為DataFrame
df.ts = pd.to_datetime(df.ts) #將原本的ts欄位中的資料,轉換為DateTime格式並回存
print(df)

print出來的結果,ts欄位中的資料,就會是我們看得懂的日期時間格式

code short_stock_source ts
2330 13832 2021-09-17 10:30:27
2890 151609 2021-09-17 10:30:27
2409 65962 2021-09-17 10:30:27

上一篇
Day 03 - Contract
下一篇
Day 05 - Scanners
系列文
深入解析 Shioaji API30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言