最新消息
2024
04
/
19
量化投資已進入你的生活,你準備好了嗎?量化投資月報 1 期
量化投資,有人稱為系統化交易,也有人稱為演算法交易,是由交易者將觀察到的市場現象,經過歷史數據分析驗證,轉化為有效的投資策略,再利用電腦輔助,嚴格執行買賣決策的一種交易方式。根據晨星統計,運用量化投資的共同基金,資產管理規模由 2010 年 2240 億美金,快速提升至 2017 年 7120 ...
2024
05
/
03
TQuant Lab 一目均衡表策略,一套自成體系的技術分析指標
與一般股票價格受價量關係、買賣供需、企業基本面等傳統觀念不同,一目均衡表認為,時間是影響價格變化的重要因素,尤其是在時間的影響下,價格實際上有週期性的變化。
2023
10
/
13
TQuant Lab 系統入門教學 - TQuant Lab 安裝
介紹 TQuant Lab 回測系統,操作介面和使用流程介紹,幫助您快速了解 TQuant Lab 各項功能,提早投入應用!
TQuant Lab
三大特點
以全台最完善的資料品質與內容,搭配最強大的事件驅動型回測系統,提供使用者開發與策略驗證的絕佳工具
瞭解更多模組化建構您的策略
模組化架構讓程式碼在撰寫時高度自由化,可將策略步驟化處理,同時處理多重標的買賣,並完整呈現策略績效與風險指標
龐大且高品質的資料庫
完整且即時的資料庫系統,經過層層把關與維護,讓您的回測績效不失真
強大、嚴謹的回測分析套件
四大 Python 分析工具,並提供多樣化參數讓您調整,全方位模擬市場交易環境,提升分析結果的可信度
產品內容介紹
TQuant Lab 一站式的量化研究平台
提供全台最完整的 PIT 量化資料庫和資料歸納工具(TEJ Tool API),搭配專業的因子分析工具、全方面的策略回測引擎和詳細的可視化報表呈現,通通一站式解決,劍指成為使用者在量化投資之路上的一大利器。
*PIT(Point In Time):過去歷史當下所能取得的最新資料,若使用錯誤資料恐造成前視偏誤問題,即策略績效將嚴重失準。
TQuant Lab 獨家功能
- TEJ 採用 Quantopian 公司所提供的 Zipline 套件,修改成符合台灣金融市場交易的回測引擎,經過多年發展,已是國際常用的量化平台基礎回測架構
- 由 TEJ 專業量化分析團隊維護,不定時推出專屬的新功能,可同時回測股票與 ETF 等多種商品
- 回測時,日誌自動顯示投資組合每日持有股票之各項紀錄,包含現金股利、股票股利等資訊,貼合市場真實情境
# TEJ獨家開發的輕量化 Zipline 回測引擎,最少僅需輸入您的策略建構式 pipeline 即可回測,亦可客製化各項參數
from zipline.algo.pipeline_algo import *
algo = TargetPercentPipeAlgo(
start_session=start_dt,
end_session=end_dt,
capital_base=1e6,
tradeday=tradeday,
max_leverage=0.80,
slippage_model=slippage.VolumeShareSlippage(volume_limit=0.15, price_impact=0.01),
pipeline=compute_signals,
analyze=analyze
)
results = algo.run()
- TEJ 採用 Quantopian 所提供的 Pipeline 套件,進行擴充、維護,能夠篩選、獲取特定金融數據來建構投資因子,讓使用者設計專屬投資策略
- 自動平移一期資料,確保建構策略時不會用到未來資料造成前視偏誤
- 內建多種計算函式如 zscore、SimpleMovingAverage、pearsonr、BollingerBands 等等方便您構建專屬的投資指標
- 視覺化產出流程圖,了解策略的計算過程
#Pipeline策略構建式
from zipline.pipeline.data import TQDataSet, TWEquityPricing
from zipline.pipeline.factors import SimpleMovingAverage
from zipline.pipeline import Pipeline
def compute_signals():
ind = TQDataSet.Industry.latest
volume = TQDataSet.Volume_1000_Shares.latest
mv = TQDataSet.Market_Cap_Dollars.latest
close = TWEquityPricing.close.latest
mv_filters = mv.percentile_between(80, 100)
#計算每期前20%市值公司中,近20天收盤價的移動平均
ma20 = SimpleMovingAverage(
inputs=[TWEquityPricing.close],
window_length=20,
mask=mv_filters
)
return Pipeline(columns={
'close':close,
'volume':volume,
'ind':ind,
'mv':mv,
'ma20':ma20
},
)
compute_signals().show_graph(format='svg')
- Alphalens 因子分析工具,TEJ團隊在其基礎上修改程適配台灣金融市場的版本,提供多種多樣的因子研究分析
- 報酬率分析,輕鬆組建出多空對沖投組來檢驗因子效力
- 資訊分析,觀察因子是否存在預測未來股票報酬的能力
- 週轉率分析,檢驗因子的換股頻率,是否造成太高的交易成本
- Pyfolio 是強大的策略績效分析工具,快速掌握策略的優缺點
- 一鍵產生完整的績效指標,同時產出各種視覺化報表
- 解析策略在過去歷史中,遭遇重大金融事件時是否足夠穩健
- 分析投資組合中流動性較差的股票,找出可能面臨的流動性風險
# 使用 extract_rets_pos_txn_from_zipline 將 Zipline-tej 回測出的結果進行拆分,用於後續各種績效報表中
from pyfolio.utils import extract_rets_pos_txn_from_zipline
returns, positions, transactions = extract_rets_pos_txn_from_zipline(results)
#pyfolio.tears.create_full_tear_sheet一行程式產出完整的視覺化績效報表
pyfolio.tears.create_full_tear_sheet(returns=returns,
positions=positions,
transactions=transactions,
benchmark_rets=benchmark_rets
)
# 觀察策略在各種歷史事件如2008年金融海嘯、2015年中國股災、2020年新冠疫情下的穩健性
from pyfolio.tears import create_interesting_times_tear_sheet
create_interesting_times_tear_sheet(returns, benchmark_rets)
# 檢驗個股是否有成交量太低造成出清困難的問題
pf.capacity.days_to_liquidate_positions(
positions,
market_data,
max_bar_consumption=0.2,
capital_base=1e6,
mean_volume_window=5,
).loc['20130430':]
- Zipline-tej 的事件驅動型回測可高度模擬真實市場進出的情況,提供多樣的動態與靜態滑價模型,諸如固定的點滑價成本、成交量驅動的動態滑價成本
- 台灣市場獨有的手續費成本模型以及成交訂單遞延機制
- 搭配 TEJ 資料庫提供的交易日註記,避免出現漲跌停還能順利買進的回測前視偏誤
- 不同資金容量對策略績效之影響(策略:每月定期買進市值最大的五十檔個股,無交易稅、滑價成本)
本金 |
一百萬 |
三千億 |
一兆 |
年化報酬率 |
12.04% |
11.35% |
10.83% |
累積報酬率 |
108.57% |
100.39% |
94.37% |