测试版本

owldata的Python项目详细描述



OwlData 數據貓頭鷹 API

數據貓頭鷹官方網站: https://owl.cmoney.com.tw/Owl/


Outline

Dependencies

  • pandas
  • requests

Install

安裝資源可以詳見 Github at https://github.com/owldb168/owldata

By PyPI

pipinstallowldata

Install source from GitHub

git clone https://github.com/owldb168/owldata.git
cd owldata
python setup.py install

HTTP Authentication

    介接端須先透過取得的應用程式編號與應用程式密鑰取得一次性的有效交易驗證碼,於每次API呼叫時帶入 HTTP HEADER 提供驗證才能使用相關API。此驗證碼於特定時間後會 timeout過期,此時必須重新取得交易驗證碼得以再次操作相關API。

Flow Control

情境流程示意

Code Example

使用 OwlData 模組輸入 AppID 與應用程式密鑰進行登入,並呼叫欲查詢資料表

importowldata# 輸入數據貓頭鷹會員 AppID & 應用程式密鑰appid='請輸入 AppID'appsecret='請輸入 應用程式密鑰'# 引用函數取得資料owlapp=owldata.OwlData(appid,appsecret)

Quick Start

快速拿取個股歷史資料

importowldata# 輸入數據貓頭鷹會員 AppID & 應用程式密鑰appid='請輸入 AppID'appsecret='請輸入 應用程式密鑰'# 引用函數取得資料owlapp=owldata.OwlData(appid,appsecret)# 擷取台積電股價 from 2019/08/12 to 2019/08/13stock_price=owlapp.ssp("2330","20190812","20190813")stock_price.head()

Data Function

OwlData 使用方法,使用 OwlData 不同方法擷取所需要的資料,並可以利用參數 colist 進行欄位篩選

  1. 個股日收盤行情 (Single Stock Price, SSP)

    依指定日期區間,撈取指定股票代號的股價資訊

    OwlData.ssp(sid:str,bpd:str,epd:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台積電股價 from 2019/08/12 to 2019/08/13>>>colist=['日期','股票名稱','開盤價','最高價','最低價','收盤價','成交量']>>>owlapp.ssp("2330","20190812","20190813",colist)[out]日期股票名稱開盤價最高價最低價收盤價成交量02019-08-12台積電254.50254.50251.00251.002473212019-08-13台積電249.00249.50246.50246.5025045
  2. 多股每日收盤行情 (Multi-Stock Price, MSP)

    依指定日期,撈取全上市櫃台股的股價資訊

    OwlData.msp(dt:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台股上市上櫃  2019/08/01 所有盤後資訊>>>colist=['股票代號','股票名稱','日期','開盤價','最高價','最低價','收盤價','成交量']>>>owlapp.msp("20190801",colist)[out]股票代號股票名稱日期開盤價最高價最低價收盤價成交量01101台泥2019-08-0144.5044.5544.0044.053364311102亞泥2019-08-0141.4541.7041.2041.408384
  3. 個股財務簡表 (Financial Statements Single, FIS)

    依據 di 決定查詢資料頻率,並依股票代號,撈取指定區間的財務報表資訊 y(年)、 q(季) 是撈取財務報表資訊;m(月) 是撈取營收相關資訊

    OwlData.fis(sid:str,di:str,bpd:str,epd:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台積電財務簡表 from 2016 to 2017>>>colist=['年度','流動資產(千)','非流動資產(千)','資產總計(千)','流動負債(千)','非流動負債(千)','負債總計(千)']>>>owlapp.fis('y',"2330","2017","2018",colist)[out]年度流動資產()非流動資產()資產總計()流動負債()非流動負債()負債總計()02017-12-3192719914179837135272557049651929605471687311990983312018-12-311103806952337044233440851186450384482201818146705662
  4. 多股財務簡表 (Financial Statements Multi, FIM)

    依據 di 決定查詢資料頻率,並依指定區間,撈取全上市櫃台股的財務報表資訊 y(年)、 q(季) 是撈取財務報表資訊;m(月) 是撈取營收相關資訊

    OwlData.fim(di:str,dt:str,colist:list)->DataFrame
    • 欄位
    • 範例

      # 台股上市上櫃財務簡表 from 2018>>>colist=["股票代號","股票名稱","年度","流動資產(千)","非流動資產(千)","資產總計(千)","流動負債(千)"]>>>owlapp.fim('Y',"2018",colist)[out]股票代號股票名稱年度流動資產()非流動資產()資產總計()流動負債()01101台泥2018-12-311103806952337044233440851186450384411102亞泥2018-12-318035850619882949227918799862804294
  5. 法人籌碼個股資料 (Corporate Chip Single, CHS)

    依指定日期區間,撈取指定股票的三大法人買賣狀況和該股票的融資券狀況

    OwlData.chs(sid:str,bpd:str,epd:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台積電法人籌碼資料 from 2019/08/01 to 2019/08/02>>>colist=['日期','買賣超合計','外資買賣超','投信買賣超','自營商買賣超']>>>owlapp.chs("2330","20190801","20190802",colist)[out]日期買賣超合計外資買賣超投信買賣超自營商買賣超02019-08-01-9058-10675196142112019-08-02-8712-9356-235879
  6. 法人籌碼多股資料 (Corporate Chip Multi, CHM)

    查詢指定日期,全上市櫃台股的三大法人買賣狀況和融資券狀況

    OwlData.chm(dt:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台股上市上櫃  from 2019/08/01 所有法人籌碼資訊>>>colist=['股票代號','股票名稱','日期','買賣超合計','外資買賣超','投信買賣超','自營商買賣超']>>>owlapp.chm("20190916",colist)[out]股票代號股票名稱日期買賣超合計外資買賣超投信買賣超自營商買賣超01101台泥2019-09-16-3470-23230-114711102亞泥2019-09-162008171250246
  7. 技術指標 個股 (Technical Indicators Single, TIS)

    依指定日期區間,撈取指定股票的技術指標數值

    OwlData.tis(sid:str,bpd:str,epd:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台積電技術指標 from 2019/08/01 to 2019/08/02>>>colist=['日期','K(9)','D(9)','RSI(5)','RSI(10)',"DIF","MACD","DIF-MACD"]>>>owlapp.tis("2330","20190801","20190802",colist)[out]日期K(9)D(9)RSI(5)RSI(10)DIFMACDDIF-MACD02019-08-0139.8060.4530.5151.655.125.73-0.6112019-08-0228.6249.8417.8840.984.215.43-1.22
  8. 技術指標 多股 (Technical Indicators Multi, TIM)

    查詢指定日期,全上市櫃台股的技術指標數值

    OwlData.tim(dt:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台股上市上櫃  from 2019/08/01 所有技術指標資訊>>>colist=['股票代號','股票名稱','日期','K(9)','D(9)','RSI(5)','RSI(10)',"DIF","MACD","DIF-MACD"]>>>owlapp.tim("20190801",colist)[out]股票代號股票名稱日期K(9)D(9)RSI(5)RSI(10)DIFMACDDIF-MACD01101台泥2019-08-0227.8242.4918.1029.52-0.13-0.01-0.1311102亞泥2019-08-029.0011.7411.8525.02-0.62-0.31-0.31
  9. 公司基本資料 多股 (Company Information Multi, CIM)

    撈取上市櫃台股的公司基本資料

    OwlData.cim(colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台股上市上櫃 所有公司基本資訊>>>colist=['股票代號','股票名稱','中文簡稱','董事長','總經理']>>>owlapp.cim(colist)[out]股票代號股票名稱中文簡稱董事長總經理01101台泥台泥張安平李鐘培11102亞泥亞泥徐旭東李坤炎21103嘉泥嘉泥張剛綸祁士鉅
  10. 股利政策 個股 (Dividend Policy Single, DPS)

    依據指定年度區間,撈取指定股票的配發股利狀況表

    OwlData.dps(sid:str,bpd:str,epd:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台積電股利政策資料 from 2017 to 2018>>>colist=['年度','除息日','除權日','現金股利合計(元)','股票股利合計(元)']>>>owlapp.dps("2330","2017","2018",colist)[out]年度除息日除權日現金股利合計()股票股利合計()02017-12-31201806258012018-12-312019062480
  11. 股利政策 多股 (Dividend Policy Multi, DPM)

    依指定年度,撈取全上市櫃台股的配發股利狀況表

    OwlData.dpm(dt:str,colist:list)->DataFrame
    • 欄位
    • 範例
    # 擷取台股上市上櫃  from 2018 所有股利政策資訊>>>colist=['股票代號','股票名稱','年度','除息日','除權日','現金股利合計(元)','股票股利合計(元)']>>>owlapp.dpm("2018",colist)[out]股票代號股票名稱年度除息日除權日現金股利合計()股票股利合計()01101台泥2018-12-3120190813201908133.310.7011102亞泥2018-12-31201907242.800.0021103嘉泥2018-12-31201908291.000.00
  12. 除權除息 個股 (Exemption Dividend Policy Single, EDPS)

    依據指定年度區間,撈取指定股票的股東會日期及停止過戶的相關日期

    OwlData.edps(sid:str,bpd:str,epd:str,colist:list)->DataFrame
    • 欄位
    # 擷取台積電除權除息資料 from 2017 to 2018>>>colist=['年度','停止過戶起','停止過戶迄','最後過戶日','股東會日期']>>>owlapp.edps("2330","2017","2018",colist)[out]年度停止過戶起停止過戶迄最後過戶日股東會日期02017-12-312017041020170608201704072017060812018-12-3120180407201806052018040320180605
  13. 除權除息 多股 (Exemption Dividend Policy Multi, EDPM)

    依指定日期,撈取全上市櫃台股的股東會日期及停止過戶的相關日期

    OwlData.edpm(dt:str,colist:str)->DataFrame
    • 欄位
    • 範例
    # 擷取台股上市上櫃  2018 所有除權除息資訊>>>colist=['股票代號','股票名稱','年度','停止過戶起','停止過戶迄','最後過戶日','股東會日期']>>>owlapp.edpm("2018",colist)[out]股票代號股票名稱年度停止過戶起停止過戶迄最後過戶日股東會日期01101台泥2018-12-312018042420180622201804232018062211102亞泥2018-12-312018042820180626201804272018062621103嘉泥2018-12-3120180423201806212018042020180621
  14. 即時報價 (Timely Stock Price, TSP)

    撈取指定股票即時股價資訊

    OwlData.tsp(sid:str,colist:str)->DataFrame
    • 欄位
    • 範例
    # 擷取台積電即時報價>>>colist=['股票代號','股票名稱','時間','開盤價','最高價','最低價','成交量']>>>owlapp.tsp("2330",colist)[out]股票代號股票名稱時間開盤價最高價最低價成交量02330台積電20190814143000252.50254.00249.5011.00

Notes

  • Python 免費版資料期間限制於2年,欄位詳見 GitHub或數據貓頭鷹官網

  • 免費版試用期間為 90 日,過期則需要再等 2 日才能再次申請免費試用

  • Python 付費版資料期間為 10 年,欄位詳見 GitHub或數據貓頭鷹官網

  • 若付費本出現無法擷取資料的情況,可能是因為商品清單或是交易週期對應表過期所導致,請向客服進行聯繫 (預設過期天數為999天,等待期限 1 日)

有任何相關錯誤請聯繫:

  • E-mail:service@cmoney.com.tw
  • 請撥打 02-8252-6620 分機241
  • 星期一-星期五: 早上9:00-下午6:00, 除了國定假日以外

Contribute

owldata was created by OwlData co. owldb@cmoney.com.tw

Contributing were welcome, please use GitHub issue and Pull Request to contribute!

歡迎協作,請使用 GitHub issue 以及 Pull Request 功能來協作。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题