Zipeng365's picture
Publish DeTime static documentation mirror
ae97a0a verified
Raw
History Blame Contribute Delete
25.3 kB
<!DOCTYPE html>
<html lang="en" data-bs-theme="light">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Zipeng Wu">
<link rel="canonical" href="https://systems-mechanobiology.github.io/DeTime/tutorials/quant-trading/data/">
<link rel="shortcut icon" href="../../../img/favicon.ico">
<title>Real Data and Universes - DeTime</title>
<link href="../../../css/bootstrap.min.css" rel="stylesheet">
<link href="../../../css/fontawesome.min.css" rel="stylesheet">
<link href="../../../css/brands.min.css" rel="stylesheet">
<link href="../../../css/solid.min.css" rel="stylesheet">
<link href="../../../css/v4-font-face.min.css" rel="stylesheet">
<link href="../../../css/base.css" rel="stylesheet">
<link id="hljs-light" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" >
<link id="hljs-dark" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github-dark.min.css" disabled>
<link href="../../../stylesheets/brand.css" rel="stylesheet">
<link href="../../../stylesheets/extra.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
<meta name="robots" content="index, follow, max-image-preview:large">
<meta name="keywords" content="DeTime, detime, de-time, time series decomposition, Python time series, SSA, MSSA, VMD, STL, decomposition software">
<meta property="og:site_name" content="DeTime">
<meta property="og:type" content="website">
<meta property="og:title" content="DeTime - workflow-oriented time-series decomposition for Python">
<meta property="og:description" content="DeTime is a Python and CLI toolkit for reproducible time-series decomposition across SSA, MSSA, VMD, STL, EMD, wavelet, and native C++ backed methods.">
<meta property="og:url" content="https://systems-mechanobiology.github.io/DeTime/">
<meta property="og:image" content="https://systems-mechanobiology.github.io/DeTime/assets/brand/detime-title-card.svg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="DeTime - time-series decomposition for Python">
<meta name="twitter:description" content="Workflow-oriented Python and CLI software for reproducible trend, oscillation, residual, and component decomposition.">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://systems-mechanobiology.github.io/DeTime/#website",
"name": "DeTime",
"alternateName": ["detime", "de-time", "De-Time"],
"url": "https://systems-mechanobiology.github.io/DeTime/",
"description": "DeTime documentation for workflow-oriented time-series decomposition software.",
"inLanguage": "en"
},
{
"@type": "SoftwareSourceCode",
"@id": "https://systems-mechanobiology.github.io/DeTime/#software",
"name": "DeTime",
"alternateName": ["detime", "de-time", "De-Time"],
"description": "Python and CLI toolkit for reproducible time-series decomposition with native C++ backed SSA, MSSA, VMD, STD, STDR, MA baseline, and Gabor clustering paths.",
"codeRepository": "https://github.com/systems-mechanobiology/DeTime",
"url": "https://systems-mechanobiology.github.io/DeTime/",
"programmingLanguage": ["Python", "C++"],
"applicationCategory": "Scientific software",
"keywords": "DeTime, time-series decomposition, Python, SSA, MSSA, VMD, STL, EMD, wavelet, native C++",
"author": {
"@type": "Person",
"name": "Zipeng Wu"
}
}
]
}
</script>
<link rel="stylesheet" href="../../../stylesheets/extra.css?v=7">
</head>
<body>
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="../../..">DeTime</a>
<!-- Expander button -->
<button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbar-collapse" aria-controls="navbar-collapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Expanded navigation -->
<div id="navbar-collapse" class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li class="nav-item">
<a href="../../.." class="nav-link">Home</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Start</a>
<ul class="dropdown-menu">
<li>
<a href="../../../install/" class="dropdown-item">Install</a>
</li>
<li>
<a href="../../../quickstart/" class="dropdown-item">Quickstart</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Methods</a>
<ul class="dropdown-menu">
<li>
<a href="../../../methods/" class="dropdown-item">Methods & Chooser</a>
</li>
<li>
<a href="../../../method-matrix/" class="dropdown-item">Method Matrix</a>
</li>
<li>
<a href="../../../method-references/" class="dropdown-item">Method References</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle active" aria-current="page" role="button" data-bs-toggle="dropdown" aria-expanded="false">Workflows</a>
<ul class="dropdown-menu">
<li>
<a href="../../../notebook-gallery/" class="dropdown-item">Notebook Gallery</a>
</li>
<li>
<a href="../../univariate/" class="dropdown-item">Univariate Tutorial</a>
</li>
<li>
<a href="../../multivariate/" class="dropdown-item">Multivariate Tutorial</a>
</li>
<li>
<a href="../../cli-and-profiling/" class="dropdown-item">CLI Guide</a>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Quant Trading Tutorial</a>
<ul class="dropdown-menu">
<li>
<a href="../" class="dropdown-item">Overview</a>
</li>
<li>
<a href="../notebooks/" class="dropdown-item">Tutorial Notebooks</a>
</li>
<li>
<a href="../notebooks/00_decomposition_first_quant_trading_roadmap/" class="dropdown-item">Tutorial 00 Roadmap</a>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Strategy Lab</a>
<ul class="dropdown-menu">
<li>
<a href="../two-strategy-families/" class="dropdown-item">Two Strategy Families</a>
</li>
<li>
<a href="../notebooks/01_detime_trend_following_strategy_lab/" class="dropdown-item">01 Trend-Following Lab</a>
</li>
<li>
<a href="../notebooks/02_detime_oscillation_reversion_strategy_lab/" class="dropdown-item">02 Oscillation-Reversion Lab</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Strategy Expansion</a>
<ul class="dropdown-menu">
<li>
<a href="../method-specific-strategy-expansion/" class="dropdown-item">Method-Specific Strategy Expansion</a>
</li>
<li>
<a href="../notebooks/03_detime_method_specific_strategy_variants/" class="dropdown-item">03 Method-Specific Variants</a>
</li>
<li>
<a href="../notebooks/04_detime_component_pair_trading_cointegration/" class="dropdown-item">04 Component Pair Trading</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Tutorial Sequence</a>
<ul class="dropdown-menu">
<li>
<a href="../notebooks/01_market_data_and_decomposition_feature_factory/" class="dropdown-item">01 Real Market Data and Feature Factory</a>
</li>
<li>
<a href="../notebooks/02_decomposition_aware_moving_average_macd/" class="dropdown-item">02 Decomposition-aware MA and MACD</a>
</li>
<li>
<a href="../notebooks/03_residual_mean_reversion_rsi_bollinger/" class="dropdown-item">03 Residual Mean Reversion</a>
</li>
<li>
<a href="../notebooks/04_turtle_donchian_breakout_volume_confirmation/" class="dropdown-item">04 Donchian Breakout</a>
</li>
<li>
<a href="../notebooks/05_pairs_spread_decomposition_stat_arb/" class="dropdown-item">05 Pair-Spread Stat-Arb</a>
</li>
<li>
<a href="../notebooks/06_cross_sectional_rotation_portfolio/" class="dropdown-item">06 Cross-Sectional Rotation</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Native SSA Replay</a>
<ul class="dropdown-menu">
<li>
<a href="../notebooks/07_native_ssa_high_return_low_drawdown_tutorial/" class="dropdown-item">07 Native SSA High-Return / Low-Drawdown</a>
</li>
</ul>
</li>
<li>
<a href="./" class="dropdown-item active" aria-current="page">Real Data and Universes</a>
</li>
<li>
<a href="../strategy-map/" class="dropdown-item">Strategy Map</a>
</li>
<li>
<a href="../backtesting-frameworks/" class="dropdown-item">Backtesting Frameworks</a>
</li>
<li>
<a href="../walkforward/" class="dropdown-item">Walk-Forward Validation</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Hot Trend Lab</a>
<ul class="dropdown-menu">
<li>
<a href="../../hot-trend-lab/" class="dropdown-item">Overview</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/" class="dropdown-item">Rendered Notebooks</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/00_hot_trend_lab_overview/" class="dropdown-item">00 Column Overview</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/01_arxiv_category_pulse/" class="dropdown-item">01 arXiv Category Pulse</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/02_arxiv_agent_research_pulse/" class="dropdown-item">02 arXiv Agent Research Pulse</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/03_huggingface_open_model_pulse/" class="dropdown-item">03 Hugging Face Open-Model Pulse</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/04_github_ai_agent_star_velocity/" class="dropdown-item">04 GitHub Star Velocity</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/05_wikipedia_attention_hype_decay/" class="dropdown-item">05 Wikipedia Attention Decay</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/06_crypto_stablecoin_liquidity_pulse/" class="dropdown-item">06 Crypto Stablecoin Liquidity</a>
</li>
<li>
<a href="../../hot-trend-lab/notebooks/07_ai_infrastructure_market_pulse/" class="dropdown-item">07 AI Infrastructure Market Pulse</a>
</li>
<li>
<a href="../../hot-trend-lab/data-sources/" class="dropdown-item">Real Data Sources</a>
</li>
<li>
<a href="../../hot-trend-lab/arxiv-research-pulse/" class="dropdown-item">arXiv Research Pulse</a>
</li>
<li>
<a href="../../hot-trend-lab/open-model-and-developer-attention/" class="dropdown-item">Open Models and Developer Attention</a>
</li>
<li>
<a href="../../hot-trend-lab/wiki-market-crypto-attention/" class="dropdown-item">Public Attention, Markets, and Crypto</a>
</li>
<li>
<a href="../../hot-trend-lab/release-calendar/" class="dropdown-item">Release Calendar</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Gallery</a>
<ul class="dropdown-menu">
<li>
<a href="../../../gallery/ssa/" class="dropdown-item">SSA</a>
</li>
<li>
<a href="../../../gallery/std/" class="dropdown-item">STD</a>
</li>
<li>
<a href="../../../gallery/stdr/" class="dropdown-item">STDR</a>
</li>
<li>
<a href="../../../gallery/mssa/" class="dropdown-item">MSSA</a>
</li>
<li>
<a href="../../../gallery/stl/" class="dropdown-item">STL</a>
</li>
<li>
<a href="../../../gallery/mstl/" class="dropdown-item">MSTL</a>
</li>
<li>
<a href="../../../gallery/robust-stl/" class="dropdown-item">ROBUST_STL</a>
</li>
<li>
<a href="../../../gallery/emd/" class="dropdown-item">EMD</a>
</li>
<li>
<a href="../../../gallery/ceemdan/" class="dropdown-item">CEEMDAN</a>
</li>
<li>
<a href="../../../gallery/vmd/" class="dropdown-item">VMD</a>
</li>
<li>
<a href="../../../gallery/wavelet/" class="dropdown-item">WAVELET</a>
</li>
<li>
<a href="../../../gallery/ma-baseline/" class="dropdown-item">MA_BASELINE</a>
</li>
<li>
<a href="../../../gallery/mvmd/" class="dropdown-item">MVMD</a>
</li>
<li>
<a href="../../../gallery/memd/" class="dropdown-item">MEMD</a>
</li>
<li>
<a href="../../../gallery/gabor-cluster/" class="dropdown-item">GABOR_CLUSTER</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Reference</a>
<ul class="dropdown-menu">
<li>
<a href="../../../api/" class="dropdown-item">API Overview</a>
</li>
<li>
<a href="../../../config-reference/" class="dropdown-item">Config Reference</a>
</li>
<li>
<a href="../../../machine-api/" class="dropdown-item">Machine API</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Project</a>
<ul class="dropdown-menu">
<li>
<a href="../../../comparisons/" class="dropdown-item">Compare Alternatives</a>
</li>
<li>
<a href="../../../reproducibility/" class="dropdown-item">Reproducibility</a>
</li>
<li>
<a href="../../../architecture/" class="dropdown-item">Architecture</a>
</li>
<li>
<a href="../../../migration/" class="dropdown-item">Migration from `tsdecomp`</a>
</li>
<li>
<a href="../../../contributing/" class="dropdown-item">Contributing</a>
</li>
<li>
<a href="../../../citation/" class="dropdown-item">Citation / Release Notes</a>
</li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav ms-md-auto">
<li class="nav-item">
<a href="#" class="nav-link" data-bs-toggle="modal" data-bs-target="#mkdocs_search_modal">
<i class="fa fa-search"></i> Search
</a>
</li>
<li class="nav-item">
<a rel="prev" href="../notebooks/07_native_ssa_high_return_low_drawdown_tutorial/" class="nav-link">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li class="nav-item">
<a rel="next" href="../strategy-map/" class="nav-link">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li class="nav-item">
<a href="https://github.com/systems-mechanobiology/DeTime" class="nav-link">systems-mechanobiology/DeTime</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-3"><div class="navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
<div class="navbar-header">
<button type="button" class="navbar-toggler collapsed" data-bs-toggle="collapse" data-bs-target="#toc-collapse" title="Table of Contents">
<span class="fa fa-angle-down"></span>
</button>
</div>
<div id="toc-collapse" class="navbar-collapse collapse card bg-body-tertiary">
<ul class="nav flex-column">
<li class="nav-item" data-bs-level="1"><a href="#tutorial-01-real-data-and-detime-feature-factory" class="nav-link">Tutorial 01: Real Data and DeTime Feature Factory</a>
<ul class="nav flex-column">
<li class="nav-item" data-bs-level="2"><a href="#live-data-path" class="nav-link">Live data path</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-bs-level="2"><a href="#offline-real-data-smoke-path" class="nav-link">Offline real-data smoke path</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-bs-level="2"><a href="#feature-factory" class="nav-link">Feature factory</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div></div>
<div class="col-md-9" role="main">
<h1 id="tutorial-01-real-data-and-detime-feature-factory">Tutorial 01: Real Data and DeTime Feature Factory</h1>
<p>Tutorial 01 builds the reusable data and feature layer for the series.</p>
<h2 id="live-data-path">Live data path</h2>
<pre><code class="language-python">from quant_trading.data import fetch_yahoo_ohlcv
ohlcv = fetch_yahoo_ohlcv(&quot;SPY&quot;, start=&quot;2016-01-01&quot;)
</code></pre>
<h2 id="offline-real-data-smoke-path">Offline real-data smoke path</h2>
<pre><code class="language-python">from quant_trading.data import load_sample_goog_ohlcv
ohlcv = load_sample_goog_ohlcv(trim_start=&quot;2010-01-01&quot;)
</code></pre>
<p>The bundled fallback is real historical GOOG OHLCV data from the uploaded Learn
Algorithmic Trading archive. It is included so the notebooks and smoke tests run
without network access. It is not a substitute for a licensed research data
vendor.</p>
<h2 id="feature-factory">Feature factory</h2>
<pre><code class="language-python">from quant_trading.decomposition_features import walkforward_price_volume_features
prices = ohlcv[[&quot;Close&quot;]].rename(columns={&quot;Close&quot;: &quot;SPY&quot;})
volumes = ohlcv[[&quot;Volume&quot;]].rename(columns={&quot;Volume&quot;: &quot;SPY&quot;})
features = walkforward_price_volume_features(
prices,
volumes,
method=&quot;STL&quot;,
period=63,
train_window=252,
step=21,
)
</code></pre>
<p>Returned feature names include:</p>
<table>
<thead>
<tr>
<th>Feature</th>
<th>Meaning</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>trend</code>, <code>trend_slope</code>, <code>trend_strength</code></td>
<td>price direction and persistence</td>
</tr>
<tr>
<td><code>cycle</code>, <code>cycle_slope</code>, <code>cycle_z</code>, <code>cycle_amplitude</code></td>
<td>oscillatory timing and amplitude</td>
</tr>
<tr>
<td><code>residual_z</code>, <code>residual_abs_z</code>, <code>residual_vol</code></td>
<td>structural deviation and stress</td>
</tr>
<tr>
<td><code>volume_trend_slope</code>, <code>volume_residual_z</code>, <code>volume_participation</code></td>
<td>participation and abnormal activity</td>
</tr>
<tr>
<td><code>component_stability</code>, <code>reconstruction_error</code></td>
<td>reliability screens</td>
</tr>
</tbody>
</table>
<p>Executable notebook:
<code>examples/notebooks/quant_trading/01_market_data_and_decomposition_feature_factory.ipynb</code>.</p></div>
</div>
</div>
<footer class="col-md-12">
<hr>
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
</footer>
<script src="../../../js/bootstrap.bundle.min.js"></script>
<script>
var base_url = "../../..",
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
</script>
<script src="../../../js/base.js"></script>
<script src="../../../search/main.js"></script>
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="searchModalLabel">Search</h4>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p>From here you can search these documents. Enter your search terms below.</p>
<form>
<div class="form-group">
<input type="search" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here">
</div>
</form>
<div id="mkdocs-search-results" data-no-results-text="No results found"></div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div><div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<table class="table">
<thead>
<tr>
<th style="width: 20%;">Keys</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td class="help shortcut"><kbd>?</kbd></td>
<td>Open this help</td>
</tr>
<tr>
<td class="next shortcut"><kbd>n</kbd></td>
<td>Next page</td>
</tr>
<tr>
<td class="prev shortcut"><kbd>p</kbd></td>
<td>Previous page</td>
</tr>
<tr>
<td class="search shortcut"><kbd>s</kbd></td>
<td>Search</td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
</body>
</html>