技術手冊

幫您解決操作 TQuant Lab 時的一切疑難雜症

擬真量化回測引擎(zipline-tej)

版本發布

TQuant Lab 安裝與新手教學

TQuant Lab 安裝教學

介紹 TQuant Lab 所使用的套件、環境,並提供 4 種安裝 TQuant Lab 的方式。

   

範例下載連結:Install TQuant Lab

TQuant Lab 分析流程

簡易流程圖

詳細流程圖

新手教學 - 以 TSMC 買進持有策略為例

藉由買進持有台積電的策略來演示 zipline-tej 的回測架構,並介紹組建 zipline 交易策略最基礎的四大函式:initialize、 handle_data、 analyze 與 run_algorithm。

   

範例下載連結:TSMC buy and hold strategy

匯入價量及基本面資料

介紹將價量、基本面、籌碼面等資料導入至 zipline-tej 回測引擎的方法。

 

範例下載連結:Data Collection

回測 API

與執行回測相關的函數

 

 

TargetPercentPipeAlgo

利用買賣清單與持股權重進行定期再平衡的演算法。

  

see also:

下單函數(Orders)

 

 

下單函數 – order 與 order_target 

    兩者的下單模式如下:

    • order:購買指定股數。
    • order_target:交易直到該股票帳上總股數達到指定數量為止。
      

    下單函數 – order_value 與 order_target_value

      兩者的下單模式如下:

      • order_value:購買指定價值的股票。
      • order_target_value:交易到帳上該股票價值達到指定價值為止。

         

      範例下載連結:Zipline Order (value & target_value)

      下單函數 – order_percent 與 order_target_percent 

        兩者的下單模式如下:

        • order_percent:購買指定價值的股票。
        • order_target_percent:將股票在投資組合的比重調整到指定的比例。

           

        範例下載連結:Zipline Order (percent & target_percent)

        get_open_orders 與 cancel_order

        在特定時點將未完全成交的訂單取消。

           

        範例下載連結:Zipline Cancel Order

        交易限制(Trading Controls)

        介紹 zipline-tej 中可設定的 6 種不同交易限制:

        1. set_do_not_order_list:預先設定一個不希望交易到的股票清單。
        2. set_long_only:預先設定投資組合不能持有任何短部位(short positions)。
        3. set_max_leverage:設定投資組合的槓桿限制。
        4. set_max_order_count:限制一天內能夠下幾張 order。
        5. set_max_order_size:限制特定股票(或全部)的單次下單股數及金額。
        6. set_max_position_size:限制特定股票(或全部)在帳上的股數及市值。

          

        範例下載連結:Zipline Trading Controls

        手續費模型(Commission Models)

        介紹 zipline-tej 中可以設定的 4 種手續費模式:

        1. PerShare:按照下單的股數計算費用,同時還可以設定一個最低費用。
        2. PerTrade:一筆交易收取一筆固定費用。
        3. PerDollar:按照交易金額抽成計算。
        4. Custom_TW_Commission:台灣專用的手續費模型。

          

        範例下載連結:Zipline Commission Models

        滑價模型(Slippage Models)

        介紹 zipline-tej 中可以設定的 4 種滑價模式:

        1. FixedSlippage:設定固定 spread 的滑價,不能設定成交量限制。

        2. VolumeShareSlippage:根據該筆交易佔總交易量百分比來計算滑價,並可設定成交量限制。

        3. FixedBasisPointsSlippage:設定固定基點的滑價,並可設定成交量限制。

        4. NoSlippage:不設置滑價。

          

        範例下載連結:Zipline Slippage

        其他功能(Other API)

        get_universe

        幫助我們抓取特定的股票池(市場、板塊、證券種類、產業別等)。

           

        範例下載連結:get_universe說明

        Universe Analysis

        利用 get_universe 分析股票池的產業分布與成交金額。

           

        範例下載連結:Universe Analysis-using get_universe

        context 

        紀錄執行交易回測時的各項即時資訊,如:標的資產、現金水位、股票水位、投組價值、累積報酬等,

        並且我們可以透過 context 隨時取得這些數據。

           

        範例下載連結:Zipline Context

        Pipeline API

        利用動能交易策略示範 Pipeline 於交易策略中的使用方法。

          

        範例下載連結:Pipeline Example

        投資訊號生成工具(Pipeline)

        介紹如何建立 Pipeline 來產出交易策略中所需的指標與因子,並利用 run_pipeline 產出 Pipeline中的資料。

          

        範例下載連結:Creating a Pipeline

        Pipeline 自訂因子(CustomFactor)

        介紹如何利用 CustomFactor 建構自己專屬的策略因子。

          

        範例下載連結:Custom Factors

        Pipeline 因子(Factor)

        Factors(因子)是一個將資產在某個時間點的特徵轉換為數字的函數,以下將介紹如何在 Pipeline 中使用因子。

          

        範例下載連結:Pipeline Factors

        Pipeline 濾網(Filter)

        Filters(濾網)是一個將資產在某個時間點的特徵轉換為布林值的函數,以下將介紹如何在 Pipeline 中使用濾網。

          

        範例下載連結:Pipeline Filters

        Pipeline 遮網(Masking)

        Masking(遮網)可在計算 Pipeline 時忽略特定資產,以下將介紹如何在 Pipeline 中使用遮網。

          

        範例下載連結:Pipeline Masking

        Pipeline 內建因子(Built-in Factors)

        介紹 zipline-tej 中內建的因子。

          

        範例下載連結:Built-in Factors

        Pipeline 內建濾網(Built-in Filters)

        介紹 zipline-tej 中常用的內建濾網。

          

        範例下載連結:Built-in Filters

        進階範例

        精選 TQuant Lab 的交易策略回測範例。

        常見問題

        環境、套件安裝與導入

        Pipeline

        回測

        可視化報表呈現(pyfolio-tej)

        pyfolio-tej

        pyfolio-tej 為 TQuant Lab 中利用圖表進行績效分析的工具庫,以下將介紹 pyfolio-tej 的使用方法。

          

        範例下載連結:Pyfolio

        專業的因子分析工具(alphalens-tej)

        alphalens-tej

        alphalens-tej 提供以下三種類型的因子分析工具,讓我們對因子有初步的了解,並進一步優化因子的表現:

        1. Returns(報酬率分析)

        2. Information(資訊分析)

        3. Turnover(周轉率分析)

          

        範例下載連結:Alphalens

        常見問題

        TejToolAPI

        TejToolAPI 安裝與新手教學

        簡介 TejToolAPI 的安裝與使用方式

          

        範例下載連結:使用Tool_API獲取數據(股價、財務、月營收、集保和股票屬性)

        範例

        TejToolAPI 基礎範例 

        範例下載連結:TejToolAPI

        TejToolAPI 進階範例

        整併股價與不同屬性的資料庫,並產出日頻率的資料。

           

        範例下載連結:Data Preprocess – tejtoolapi