{"repo":"ArturSepp/TrendFollowingSystems","free":true,"listed":false,"github":"https://github.com/ArturSepp/TrendFollowingSystems","clone":"git clone https://github.com/ArturSepp/TrendFollowingSystems.git","description":"trendfollowing — closed-form trend-following analytics, reference system implementations, and reproducible futures evidence in Python for quantitative researchers and practitioners.","language":"Python","stars":19,"topics":["backtesting","cta","futures","momentum","python","quantitative-finance","replication","systematic-trading","time-series-momentum","trend-following"],"license":"GPL-3.0","category":"trading","readme_excerpt":"trendfollowing trendfollowing — closed-form trend-following analytics, reference system implementations, and reproducible futures evidence in Python for quantitative researchers and practitioners. It is a research and replication library, not a broker integration or general-purpose execution engine; portfolio analytics and reporting are delegated to qis . Paper: Sepp, A. and Lucic, V., The Science and Practice of Trend-Following Systems . Read and download the paper on SSRN: ssrn.com/abstract=3167787 (doi:10.2139/ssrn.3167787). See Citation for the BibTeX entry. The replication material for every figure and table is in papers/tf systems/ . trendfollowing implements the paper's central result: an exact decomposition of the European trend-following system's P&L into an autocorrelation channel and a squared-drift channel, where $\\rho(m)$ is the autocorrelation function of volatility-normalized returns, $\\mu$ their annualized drift, and $\\nu$ the filter smoothing parameter of the span. The annualized Sharpe ratio follows in closed form for any causal linear process, with the excess kurtosis of the innovations entering through a single loading. On 84 liquid futures contracts, the closed form applied to sample moments reproduces the realized Sharpe ratios of the European system with a pooled correlation of 0.99 and a regression slope of 0.96. The package is useful when three things matter: - You want to select the filter span analytically rather than by grid search: the AR-1 break-","default_branch":null,"files":null,"tree":[],"storefront":"/r/ArturSepp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ArturSepp/TrendFollowingSystems/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}