USMSMP 回傳的資料格式為擴充版的 pandas.DataFrame:ProboDataFrame,為kgisuperpy api自訂的資料結構,它是針對原生 pandas.DataFrame 進行優化與功能封裝後的資料結構,提供股票、財報、技術指標資料處理的便捷方法,主要功能如下:
1. index_str_to_date()
●功能:將字串型 index(年、季、月)轉換為交易日日期
●支援格式:
- 季度:'2023-Q1'
●回傳:ProboDataFrame(index 已轉為交易日日期)
2. last_of_week()
●功能:取每週最後交易日對應的資料
●回傳:ProboDataFrame
3. first_of_week()
●功能:取每週第一交易日對應的資料
●回傳:ProboDataFrame
4. last_of_month()
●功能:取每月最後交易日對應的資料
●回傳:ProboDataFrame(僅保留每月最後交易日的行)
5. first_of_month()
●功能:取每月第一交易日對應的資料
●回傳:ProboDataFrame(僅保留每月第一交易日的行)
6. reshape(df1, df2)
●功能:將兩個 ProboDataFrame 對齊索引與欄位
●行為:
- columns 取交集
- index 取「兩者共同的日期區間」,即起始日必須同時存在於 df1 與 df2
- 對於此共同日期區間,缺失值會前向填充(ffill)
- 自動將不同頻率資料(季)轉為交易日
回傳:對齊後的兩個ProboDataFrame
注意:
- 若 df1、df2 起始日不同,則會以較晚的起始日為起點
- 適用於不同頻率資料自動對齊,保證運算符號(+、-、>、< 等)正確對應
7. 運算與比較符號自動對齊
●功能:支援 +、-、*、/、>、<、>=、<=、==、!= 等運算符號
●行為:
- 自動呼叫 reshape 對齊不同資料
- columns 取交集,index 前向填充
- 適用於不同頻率資料自動對齊
- 例:`日資料 + 月資料` 無需手動 reshape
●回傳:ProboDataFrame
使用範例:
con1 = api.USMSMP.日_K.Close > 100
con2 = api.USMSMP.季財報_其他.公告EPS >0.5
result = con1 & con2 # 自動對齊 index 和 columns