PnL PortfolioThis indicator provides a comprehensive, real-time overview of your open trading portfolio directly on the chart. It allows you to track up to 20 different trading pairs simultaneously.
For each asset, simply input the Pair Symbol, Average Entry Price, and Position Quantity. The script securely fetches the current market price and dynamically calculates and displays a customizable table showing:
Real-Time Profit/Loss ($)
Percentage PnL (%)
Entry Price and Position Quantity
The table uses color coding to clearly highlight profitable (green) or losing (red) positions, and its location on the chart (top/bottom, left/right) is fully adjustable.
Portföy Yönetimi
PnL TrackerThis script allows you to manually input the details for up to 64 unique positions in the settings, each requiring a Symbol, Average Cost, and Quantity (Qty).
Key Features:
Average Cost Line: Plots a horizontal line on the chart corresponding to your recorded Average Cost for the security currently being viewed.
Real-Time PnL Label: A dynamic label attached to the Average Cost line provides an instant summary of your PnL in both percentage and currency for the last visible bar.
Detailed PnL Box: Displays a consolidated, easy-to-read table in the bottom-right corner of the chart, clearly showing:
The Symbol and Quantity of your position.
Your Average Cost.
The current PnL in percentage (%) and base currency (e.g., USD, EUR).
Visibility Controls: Toggles in the settings allow you to show or hide the Average Cost line and the PnL summary box independently.
This tool is perfect for actively managing and visualizing your multi-asset portfolio positions without leaving your main trading chart. Simply enter your positions in the indicator's settings, and the script will automatically track the PnL for the symbol matching the current chart.
Stop Loss and TargetsEnter your purchase price, SL% and up to 3x TP%s. Automatically plots them on your chart to enable quicker set up of alerts.
PnL PortfolioThis script allows you to input the details for up to 20 active positions across various trading pairs or markets. Stop manually calculating your trades—get instant, real-time feedback on your performance.
Key Features:
Multi-Pair Tracking: Monitor up to 20 unique symbols simultaneously.
Required Inputs: Easily define the Symbol, Entry Price, and Position Quantity (size) for each trade in the indicator settings.
Real-Time PnL: Instantly calculates and displays two critical metrics based on the current market price:
% PnL (Percentage Profit/Loss)
Absolute Profit/Loss (in currency)
Color-Coded Feedback: The PnL columns are color-coded (green/teal for profit, red/maroon for loss) for immediate visual confirmation of your trade health.
Customizable Layout: Choose where the dashboard table appears on your chart (top-left, top-right, bottom-left, or bottom-right) to keep your trading view clean.
This is an essential overlay for any trader managing multiple active positions and needing a consolidated, easy-to-read overview.
DCA with the Money Supply Index DCA with the Money Supply Index (MSI) by zdmre
This strategy is based on the Money Supply Index (MSI) by zdmre and enhances it with two functional options for users: a DCA (Dollar-Cost Averaging) approach and a signal-based buy/sell mode. It’s designed to help traders and investors make data-driven, disciplined entry decisions based on monetary supply trends.
🧠 Concept Overview
The Money Supply Index (MSI) provides insight into how liquidity (money supply) influences market movements. This strategy builds upon that foundation by allowing users to either:
Accumulate positions over time using DCA, based on favorable MSI conditions.
Execute a single buy and sell trade, optimized for bull market conditions.
⚙️ Inputs Explained
General Parameters
Start Bar Index / Stop Bar Index
Defines the range of bars (historical data) for backtesting or strategy visualization.
Long DCA
Activates the DCA mode. If unchecked, the strategy operates in single-entry/single-exit signal mode.
Trading Signal
Enables signal-based entries and exits when the MSI reaches predefined thresholds.
DCA Parameters
Entry Value
The MSI value that triggers a DCA buy event. When the MSI crosses below this value, the strategy considers it a favorable moment to deploy the saved capital.
Saved Amount
The amount of money set aside regularly (e.g., monthly) for investment. This simulates the DCA effect by accumulating capital and deploying it when conditions are optimal.
Data Inputs
Money Supply
The data source for the Money Supply Index (default: ECONOMICS:USM2).
Relational Symbol
The market instrument to compare against the money supply (default: NASDAQ_DLY:NDX). This allows the strategy to measure liquidity impact on a specific market.
Chart Display Options
You can toggle these metrics on the chart for better visualization:
Entry Price (green) – The price level of executed buys.
Cash Balance (yellow) – Remaining uninvested capital.
Invested Capital (red) – Total amount currently invested.
Current Value (blue) – The current valuation of the investment.
Profit (purple) – The total realized and unrealized profit.
Trades on Chart / Signal Labels / Quantity – Enables trade markers, signal text, and position size visualization.
📈 How the Strategy Works
1️⃣ DCA Mode
In DCA mode, the strategy simulates periodic savings and only invests when the MSI indicates favorable liquidity conditions (based on the Entry Value).
This approach aims to achieve the best possible average entry price over time — a powerful strategy for long-term investors seeking stable accumulation with reduced emotional bias.
2️⃣ Signal-Based Mode
In signal mode (with DCA disabled), the strategy performs one buy and one sell trade based on MSI turning points.
It’s most effective during bull markets, where liquidity expansion supports upward momentum.
This mode helps identify high-probability entry and exit zones rather than averaging in continuously.
💡 Additional Notes
This strategy includes helpful metrics to monitor your personal investment performance — showing invested capital, cash reserves, and profit in real-time.
The goal is to combine macroeconomic insight (money supply) with disciplined execution and capital management.
⚠️ Disclaimer
This strategy is for educational and research purposes only. It does not constitute financial advice. Always conduct your own analysis before making investment decisions.
Performance-based Asset Weighting(MTF)**Performance-Based Asset Weighting (MTF/Symbol Free Setting)**
#### Overview
This indicator is a tool that visualizes the relative strength of performance (price change rate) as “weight (allocation ratio)” for **four user-defined stocks**.
By setting any specified past point in time as the baseline (where all symbols are equally weighted at 25%), it aims to provide an intuitive understanding of which symbols outperformed others and attracted capital, or underperformed and saw capital outflows.
**【Default Settings and Application Scenario: Pension Fund Rebalancing Analysis】**
The default settings reference the basic portfolio of Japan's Government Pension Investment Fund (GPIF), configuring four major asset classes: domestic equities, foreign equities, domestic bonds, and foreign bonds. It is known that when market fluctuations cause deviations from this equal-weighted ratio, rebalancing occurs to restore the original ratio (selling assets whose weight has increased and buying assets whose weight has decreased).
Analyzing using this default setting can serve as a reference point for considering **“whether rebalancing sales (or purchases) by pension funds and similar entities are likely to occur in the future.”**
**【Important: Usage Notes】**
The weights shown by this indicator are **theoretical reference values** calculated solely based on performance from the specified start date. Even if large investors conduct significant rebalancing (asset buying/selling) during the period, those transactions themselves are not reflected in this chart's calculations.
Therefore, please understand that the actual portfolio ratios may differ. **Use this solely as a rough guideline. **
#### Key Features
* **Freely configure the 4 assets for analysis:** You can freely set any 4 assets (stocks, indices, currencies, cryptocurrencies, etc.) you wish to compare via the settings screen.
* **Performance-based weight calculation:** Rather than simple price composition ratios, it calculates each asset's price change since the specified start date as a “performance index” and displays each asset's proportion of the total sum.
* **Freely set analysis start date:** You can set any desired starting point for analysis, such as “after the XX shock” or “after earnings announcements,” using the calendar.
* **Multi-Timeframe (MTF) Support:** Independently of the timeframe displayed on the chart, you can freely select the timeframe (e.g., 1-hour, 4-hour, daily) used by the indicator for calculations.
#### Calculation Principle
This indicator calculates weights in the following three steps:
1. **Obtaining the Base Price**
Obtain the closing price for each of the four stocks on the user-set “Start Date for Weight Calculation.” This becomes the **base price** for analysis.
2. **Calculating the Performance Index**
Divide the current price of each stock by the **base price** obtained in Step 1 to calculate the “Performance Index”.
`Performance Index = Current Price ÷ Base Date Price`
This quantifies how many times the current performance has increased compared to the base date performance, which is set to “1”.
3. **Calculating Weights**
Sum the “Performance Indexes” of the four stocks. Then, calculate the percentage contribution of each stock's Performance Index to this total sum and plot it on the chart.
`Weight (%) = (Individual Performance Index ÷ Total Performance Index of 4 Stocks) × 100`
Using this logic, on the analysis start date, all stocks' performance indices are set to “1”, so the weights start equally at 25%.
#### Usage
* **Application Example 1: Market Sentiment Analysis (Using Default Settings)**
Analyze using the default asset classes. By observing the relative strength between “Equities” and “Bonds”, you can assess whether the market is risk-on or risk-off.
* **Application Example 2: Sector/Theme Strength Analysis**
Configure settings for groups like “Top 4 semiconductor stocks” or “4 GAFAM stocks.” Setting the start date to the beginning of the year or earnings season allows you to instantly compare which stocks within the same sector are performing best.
* **Application Example 3: Cryptocurrency Power Map Analysis**
By setting major cryptocurrencies like “BTC, ETH, SOL, ADA,” you can analyze which currencies are attracting market capital.
**【About Legend Display】**
Due to Pine Script specification constraints, the legend on the chart will display fixed names: **“Stock 1” to “Stock 4”. **
Please note that the symbol you entered for “Symbol 1” in the settings corresponds to the “Symbol 1” line on the chart.
#### Settings
* **Symbol 1 to Symbol 4:** Set the four symbols you wish to analyze.
* **Timeframe for Calculation:** Select the timeframe the indicator references when calculating weights.
* **Start Date for Weight Calculation:** This serves as the base date for comparing performance.
#### Disclaimer
This script is solely a tool to assist with market analysis and does not recommend buying or selling any specific financial instruments. Please make all final investment decisions at your own discretion.
-------------------------------------------------------------------------------------------------------------------
**Performance-based Asset Weighting(MTF・シンボル自由設定)**
#### 概要
このインジケーターは、**ユーザーが自由に設定した4つの銘柄**について、パフォーマンス(騰落率)の相対的な強さを「ウェイト(構成比率)」として可視化するツールです。
指定した過去の任意の時点を基準(全銘柄が均等な25%)として、そこからどの銘柄のパフォーマンスが他の銘柄を上回り、資金が向かっているのか、あるいは下回っているのかを直感的に把握することを目的としています。
**【デフォルト設定と活用シナリオ:年金基金のリバランス考察】**
デフォルト設定では、日本の年金積立金管理運用独立行政法人(GPIF)の基本ポートフォリオを参考に、主要4資産クラス(国内株式, 外国株式, 国内債券, 外国債券)が設定されています。市場の変動によってこの均等な比率に乖離が生じると、元の比率に戻すためのリバランス(比率が増えた資産を売り、減った資産を買う)が行われることが知られています。
このデフォルト設定で分析することで、**「今後、年金基金などによるリバランスの売り(買い)が発生する可能性があるか」を考察するための、一つの目安として利用できます。**
**【重要:利用上の注意点】**
このインジケーターが示すウェイトは、あくまで指定した開始日からのパフォーマンスのみを基に算出した**理論上の参考値**です。実際に大口投資家などが途中で大規模なリバランス(資産の売買)を行ったとしても、その取引自体はこのチャートの計算には反映されません。
そのため、実際のポートフォリオ比率とは異なる可能性があることをご理解の上、**あくまで大まかな目安としてご活用ください。**
#### 主な特徴
* **分析対象の4銘柄を自由に設定可能:** 設定画面から、比較したい4つの銘柄(株式、指数、為替、仮想通貨など)を自由に設定できます。
* **パフォーマンス基準のウェイト計算:** 単純な価格の構成比ではなく、指定した開始日からの各銘柄の騰落を「パフォーマンス指数」として算出し、その合計に占める各銘柄の割合を表示します。
* **分析開始日の自由な設定:** 「〇〇ショック後」「決算発表後」など、分析したい任意の時点をカレンダーから設定できます。
* **マルチタイムフレーム(MTF)対応:** チャートに表示している時間足とは別に、インジケーターが計算に使う時間足(1時間足、4時間足、日足など)を自由に選択できます。
#### 計算の原理
このインジケーターは、以下の3ステップでウェイトを算出しています。
1. **基準価格の取得**
ユーザーが設定した「ウェイト計算の開始日」における、4つの各銘柄の終値を取得し、これを分析の**基準価格**とします。
2. **パフォーマンス指数の算出**
現在の各銘柄の価格を、ステップ1で取得した**基準価格**で割ることで、「パフォーマンス指数」を算出します。
`パフォーマンス指数 = 現在の価格 ÷ 基準日の価格`
これにより、基準日のパフォーマンスを「1」とした場合、現在のパフォーマンスが何倍になっているかが数値化されます。
3. **ウェイトの算出**
4つの銘柄の「パフォーマンス指数」の合計値を算出します。そして、合計値に占める各銘柄のパフォーマンス指数の割合(%)を計算し、チャートに描画します。
`ウェイト (%) = (個別のパフォーマンス指数 ÷ 4銘柄のパフォーマンス指数の合計) × 100`
このロジックにより、分析開始日には全銘柄のパフォーマンス指数が「1」となるため、ウェイトは均等に25%からスタートします。
#### 使用方法
* **応用例1:市場のセンチメント分析(デフォルト設定利用)**
デフォルト設定の資産クラスで分析し、「株式」と「債券」の力関係を見ることで、市場がリスクオンなのかリスクオフなのかを判断する材料になります。
* **応用例2:セクター・テーマ別の強弱分析**
設定画面で、例えば「半導体関連の主要4銘柄」や「GAFAMの4銘柄」などを設定します。開始日を年初や決算時期に設定することで、同セクター内でどの銘柄が最もパフォーマンスが良いかを一目で比較できます。
* **応用例3:仮想通貨の勢力図分析**
「BTC, ETH, SOL, ADA」など、主要な仮想通貨を設定することで、市場の資金がどの通貨に向かっているのかを分析できます。
**【凡例の表示について】**
Pine Scriptの仕様上の制約により、チャート上の凡例は**「銘柄1」〜「銘柄4」という固定名で表示されます。**
お手数ですが、設定画面でご自身が「銘柄1」に入力したシンボルが、チャート上の「銘柄1」のラインに対応する、という形でご覧ください。
#### 設定項目
* **銘柄1〜銘柄4:** 分析したい4つのシンボルをそれぞれ設定します。
* **計算に使う時間足:** インジケーターがウェイトを計算する際に参照する時間足を選択します。
* **ウェイト計算の開始日:** パフォーマンスを比較する上での基準日となります。
#### 免責事項
このスクリプトはあくまで市場分析を補助するためのツールであり、特定の金融商品の売買を推奨するものではありません。投資の最終的な判断は、ご自身の責任において行ってください。
BFM Yen Carry to Risk Ratio (Dynamic Rates)Shows risk of yen carry trade unwinding. Based on cost to borrow from Japan to buy us stocks compared to interest rate in USA.
ATR Horizontal Lines from EMA and SMA with TableHow it works:
The script calculates ATR levels (of your choosing)
Instead of plotting curves, it creates horizontal lines
The lines are deleted and recreated on each bar to show current levels
Lines extend to the right or can be limited to a certain width
Customization options:
Line width (1-10 pixels)
Individual colors for each of the 4 lines
All the original parameters (EMA/SMA lengths, ATR length, multipliers)
The horizontal lines will now show the current ATR-based support/resistance levels and move dynamically as the EMAs, SMA, and ATR values change with new price data.
Position Sizer SimplifiedThis is a Pine Script® indicator for TradingView called "Position Sizer Simplified". Its primary function is to help a trader quickly calculate the appropriate position size for a trade based on their chosen risk tolerance, account size, and the trade's entry/stop-loss levels. The results are displayed neatly in a customizable table on the chart.
This tool is essential for proper risk management in trading.
Core Functionality & Inputs
The script uses a few key inputs to perform its calculations:
Account & Risk Configuration
Account Size: You can define and switch between two account sizes (account_size_1 and account_size_2) using the account_option toggle ("P1" or "P2"). The chosen size determines the total capital.
Risk % per Trade (risk_percent): This is the percentage of your chosen account size that you are willing to lose on a single trade. Example: 0.5% risk on a $180,000 account means you risk $900 per trade.
Trade Parameters
Entry Price, Stop Loss Price, Target Price: These are the manual prices a trader enters for their planned trade.
Reset All Inputs (enable_reset): A toggle to quickly clear the three price inputs by setting them to 0.
🧮 Key Calculations
The script calculates several critical values to determine the position size:
Risk per Trade: The actual dollar amount you are risking:
Account Size×(100Risk %)
Stop Distance: The price difference between the entry and stop-loss:
Entry Price−Stop Loss Price
(This assumes a Long trade; for a Short trade, the calculation would be reversed, but the magnitude must be positive for the next step).
Position Size: The maximum number of shares/contracts you can buy/sell while keeping the dollar risk within your Risk per Trade amount. This is the main output:
Position Size=Floor(Stop DistanceRisk per Trade)
The math.floor() function ensures the position size is a whole number (no fractional shares).
Capital Required: The total cost to open the calculated position:
Position Size×Entry Price
Risk/Reward (R:R) Ratio: The potential reward compared to the risk taken:
Stop DistanceTarget Price−Entry Price
Table Display & Customization
The script's output is displayed in a customizable table on the chart.
Display Toggles
A large section of boolean (input.bool) variables (e.g., show_position_size, show_rr_ratio) allows the user to turn on/off individual rows in the results table, customizing what information is shown.
Visual Settings
Table Position: The user can select one of four corners for the table (Top Right, Bottom Right, Top Left, Bottom Left).
Colors and Size: Extensive inputs are provided to customize the table's background, border, font size, and text colors.
Conditional Coloring
The script uses colors to provide quick visual warnings and checks on key metrics:
Risk % per Trade:
Green/Lime for ≤1.0% (Low Risk)
Orange for >1.0% and ≤2.0% (Medium Risk)
Red for >2.0% (High Risk)
R:R Ratio:
Green/Lime for ≥2 (Good)
Red for <2 (Bad)
Capital Check:
Green if Capital Required ≤ Account Size (Within Limit)
Red if Capital Required > Account Size (Exceeds Account)
Displayed Outputs
The table provides a comprehensive set of calculated metrics, including:
Current Ticker: The symbol of the asset being traded.
Position Size: The calculated share/contract quantity.
Risk per Trade: The dollar amount risked.
Stop Distance (pts/%): How far the stop-loss is from the entry price, in both price points and a percentage of the entry price.
Target Reward ($/%): The potential profit in dollars and as a percentage.
R:R Ratio: The calculated Risk/Reward ratio.
Target 1 (50%): Half the distance to the full target (potential partial take profit).
Target 2 (100%): The full target_price.
Capital Check: A quick status on whether the trade exceeds the total account size.
Summary: A single line detailing the trade direction (Long/Short), prices, size, and R:R ratio.
This indicator is a powerful tool for traders who want to maintain strict, quantifiable risk control on every position they take.
Institutional elite indicator
🎯 Overview
An institutional-grade technical analysis indicator that combines 10+ professional indicators into a unified, easy-to-read signal system. Designed for precision trading across all timeframes (1min to 1month) with Heikin Ashi compatibility.
📈 Signal Types
Breakout Signals: Early detection before major price movements
Divergence Detection: RSI and MACD bullish/bearish divergences
Bottom Fishing: Identification of lowest price points before rebounds
Reversal Signals: Trend reversal detection in overbought/oversold zones
MA Crossovers: Enhanced 50/200 MA cross detection with volume confirmation
⚙️ Technical Specifications
Compatible: Heikin Ashi candles, all timeframes
Configurable: 25+ adjustable parameters
Performance: Optimized for institutional-grade accuracy
Interface: Clean, non-cluttered visual design with compact signals
🚀 Use Cases
Day Trading: Precise entry/exit points on lower timeframes
Swing Trading: Trend identification and reversal detection
Institutional Analysis: Multi-indicator confirmation system
Risk Management: Volume-confirmed signals with ADX trend strength
Perfect for traders seeking institutional-level precision with simplified execution.
Golden StrategyTitle: XAUUSD (Gold) Smart Entry Strategy with Dynamic Scaling
Description:
This is a precision-based entry strategy for XAUUSD (Gold), optimized for lower timeframes like the 5-minute and 15-minute charts. It uses a custom logic engine to detect potential reversals and applies dynamic scaling (pyramiding) to build positions strategically based on price behavior.
🔍 Key Features:
✅ Smart entry logic for trend shifts
✅ Configurable position scaling up to 7 level
✅ Built-in capital efficiency for smaller accounts
✅ Backtest window control for historical testing
✅ Compact on-screen table for user guidance
Timeframes Recommended:
🔸 15-minute: Best balance of risk and consistency
🔸 5-minute: More frequent signals, slightly higher risk
⚠️ Important Disclaimer
This script is for educational and informational purposes only. It is not financial advice or a signal service. Trading carries risk, and past performance does not guarantee future results. Use at your own discretion and always manage risk appropriately.
Kz GC1! ORBStrategy that trades breakouts on GC1! futures on the 5min timeframe. It also works on MGC1! for lower drawdown and to manage Apex and Top Step accounts with the lower risk.
Risk Disclaimer:
Past results as well as strategy tester reports do not indicate future performance. Guarantees do not exist in trading. By using this strategy you risk losing all your money.
Important:
It trades all days that markets are open. Set times may be seen on settings. Trades multiple times a day sometimes.
It works on the 5 and 15min timeframe only. Results are better on 5min timeframe.
The settings are optimized already for GC1! on the 5min timeframe.
How it works:
Every trading day it measures the range of the first 15min candle of pre-selected hours. As soon as price closes above or below on the 15min timeframe, it will trade the breakout targeting a set risk to reward ratio. SL on the opposite side of the range.
Settings:
Hourly Trading Hours: These are the times that worked best for this strategy. All boxes should be checked for best results. Excluded times were when it performed bad which is why those times have been left out.
ORB Formation Period: This setting determines on which timeframe candle has to close outside the opening range box in order to take a trade. It's set to 15min by default because this is what worked by far the best
Entry Type: Entries are immediate instead of waiting for a pull back to enter on a limit order.
Limit Orders: If enabled, the strategy will place a pending order x points from the current price, instead of a market order. Immediate orders are enabled by default for a better performance. Important: It doesn't actually place a limit order. The strategy will just wait for a pullback and then enter with a market order. It's more like a hidden limit order.
Limit Order Offset Points: If you have limit orders enabled, this setting determines how many points from the current price the limit order will be placed.
FVG Detection Type: How fast it detects the fair value gaps. Standard detection over immediate had better performance
Risk Type: You can chose either between Fixed USD Amount, Risk per Trade in % or Fixed Contract Size. By default it's set to fixed contract size.
Risk Amount (USD or Contracts): This setting is to set how many USD or how many contracts you want to risk per trade. Make sure to check which risk type you have selected before you choose the risk amount.
Take Profit Multiplier: This is simply the total SL size in points multiplied by x.
Example: If you put 2, you get a 2:1 Risk to Reward Ratio. By Default it's set to 2.5 because this gave the best results in backtests.
Stop Loss Padding: This is simply the buffer in points that is added to the SL for safety reasons. If you have it on 0, the SL will be at the exact price of the opposite side of the range. By default it's set to 5 because this is what delivered the best results in backtests.
Stop Loss Placement: This determines where the stop loss gets placed for the order. It has been set to ORB Range by default as this delivered the best results.
Max Trades Per Hour: This allows the user to decide how many trades are taken an hour. 1 is been set to default for best results
Visual Settings: Check boxes to show orb range, FVG's, Entry points, and trade visualization boxes.
Backtest Settings:
For the backtest the commissions were set to 1.29USD per contract and .35USD for micros which is the highest amount Tradovate charges Margin was not accounted for because typically on prop accounts you can use way more contracts than you need for the extremely low max drawdown. Margin would be important on personal accounts but even there typically it's not an issue at all especially because this strategy runs on the 15min timeframe so it won't use a lot of contracts anyways.
Why the source code is hidden:
The source code is hidden because I invested a lot of time and money into developing this strategy and optimizing it with paid 3rd party software.
Dynamic Equity Allocation Model"Cash is Trash"? Not Always. Here's Why Science Beats Guesswork.
Every retail trader knows the frustration: you draw support and resistance lines, you spot patterns, you follow market gurus on social media—and still, when the next bear market hits, your portfolio bleeds red. Meanwhile, institutional investors seem to navigate market turbulence with ease, preserving capital when markets crash and participating when they rally. What's their secret?
The answer isn't insider information or access to exotic derivatives. It's systematic, scientifically validated decision-making. While most retail traders rely on subjective chart analysis and emotional reactions, professional portfolio managers use quantitative models that remove emotion from the equation and process multiple streams of market information simultaneously.
This document presents exactly such a system—not a proprietary black box available only to hedge funds, but a fully transparent, academically grounded framework that any serious investor can understand and apply. The Dynamic Equity Allocation Model (DEAM) synthesizes decades of financial research from Nobel laureates and leading academics into a practical tool for tactical asset allocation.
Stop drawing colorful lines on your chart and start thinking like a quant. This isn't about predicting where the market goes next week—it's about systematically adjusting your risk exposure based on what the data actually tells you. When valuations scream danger, when volatility spikes, when credit markets freeze, when multiple warning signals align—that's when cash isn't trash. That's when cash saves your portfolio.
The irony of "cash is trash" rhetoric is that it ignores timing. Yes, being 100% cash for decades would be disastrous. But being 100% equities through every crisis is equally foolish. The sophisticated approach is dynamic: aggressive when conditions favor risk-taking, defensive when they don't. This model shows you how to make that decision systematically, not emotionally.
Whether you're managing your own retirement portfolio or seeking to understand how institutional allocation strategies work, this comprehensive analysis provides the theoretical foundation, mathematical implementation, and practical guidance to elevate your investment approach from amateur to professional.
The choice is yours: keep hoping your chart patterns work out, or start using the same quantitative methods that professionals rely on. The tools are here. The research is cited. The methodology is explained. All you need to do is read, understand, and apply.
The Dynamic Equity Allocation Model (DEAM) is a quantitative framework for systematic allocation between equities and cash, grounded in modern portfolio theory and empirical market research. The model integrates five scientifically validated dimensions of market analysis—market regime, risk metrics, valuation, sentiment, and macroeconomic conditions—to generate dynamic allocation recommendations ranging from 0% to 100% equity exposure. This work documents the theoretical foundations, mathematical implementation, and practical application of this multi-factor approach.
1. Introduction and Theoretical Background
1.1 The Limitations of Static Portfolio Allocation
Traditional portfolio theory, as formulated by Markowitz (1952) in his seminal work "Portfolio Selection," assumes an optimal static allocation where investors distribute their wealth across asset classes according to their risk aversion. This approach rests on the assumption that returns and risks remain constant over time. However, empirical research demonstrates that this assumption does not hold in reality. Fama and French (1989) showed that expected returns vary over time and correlate with macroeconomic variables such as the spread between long-term and short-term interest rates. Campbell and Shiller (1988) demonstrated that the price-earnings ratio possesses predictive power for future stock returns, providing a foundation for dynamic allocation strategies.
The academic literature on tactical asset allocation has evolved considerably over recent decades. Ilmanen (2011) argues in "Expected Returns" that investors can improve their risk-adjusted returns by considering valuation levels, business cycles, and market sentiment. The Dynamic Equity Allocation Model presented here builds on this research tradition and operationalizes these insights into a practically applicable allocation framework.
1.2 Multi-Factor Approaches in Asset Allocation
Modern financial research has shown that different factors capture distinct aspects of market dynamics and together provide a more robust picture of market conditions than individual indicators. Ross (1976) developed the Arbitrage Pricing Theory, a model that employs multiple factors to explain security returns. Following this multi-factor philosophy, DEAM integrates five complementary analytical dimensions, each tapping different information sources and collectively enabling comprehensive market understanding.
2. Data Foundation and Data Quality
2.1 Data Sources Used
The model draws its data exclusively from publicly available market data via the TradingView platform. This transparency and accessibility is a significant advantage over proprietary models that rely on non-public data. The data foundation encompasses several categories of market information, each capturing specific aspects of market dynamics.
First, price data for the S&P 500 Index is obtained through the SPDR S&P 500 ETF (ticker: SPY). The use of a highly liquid ETF instead of the index itself has practical reasons, as ETF data is available in real-time and reflects actual tradability. In addition to closing prices, high, low, and volume data are captured, which are required for calculating advanced volatility measures.
Fundamental corporate metrics are retrieved via TradingView's Financial Data API. These include earnings per share, price-to-earnings ratio, return on equity, debt-to-equity ratio, dividend yield, and share buyback yield. Cochrane (2011) emphasizes in "Presidential Address: Discount Rates" the central importance of valuation metrics for forecasting future returns, making these fundamental data a cornerstone of the model.
Volatility indicators are represented by the CBOE Volatility Index (VIX) and related metrics. The VIX, often referred to as the market's "fear gauge," measures the implied volatility of S&P 500 index options and serves as a proxy for market participants' risk perception. Whaley (2000) describes in "The Investor Fear Gauge" the construction and interpretation of the VIX and its use as a sentiment indicator.
Macroeconomic data includes yield curve information through US Treasury bonds of various maturities and credit risk premiums through the spread between high-yield bonds and risk-free government bonds. These variables capture the macroeconomic conditions and financing conditions relevant for equity valuation. Estrella and Hardouvelis (1991) showed that the shape of the yield curve has predictive power for future economic activity, justifying the inclusion of these data.
2.2 Handling Missing Data
A practical problem when working with financial data is dealing with missing or unavailable values. The model implements a fallback system where a plausible historical average value is stored for each fundamental metric. When current data is unavailable for a specific point in time, this fallback value is used. This approach ensures that the model remains functional even during temporary data outages and avoids systematic biases from missing data. The use of average values as fallback is conservative, as it generates neither overly optimistic nor pessimistic signals.
3. Component 1: Market Regime Detection
3.1 The Concept of Market Regimes
The idea that financial markets exist in different "regimes" or states that differ in their statistical properties has a long tradition in financial science. Hamilton (1989) developed regime-switching models that allow distinguishing between different market states with different return and volatility characteristics. The practical application of this theory consists of identifying the current market state and adjusting portfolio allocation accordingly.
DEAM classifies market regimes using a scoring system that considers three main dimensions: trend strength, volatility level, and drawdown depth. This multidimensional view is more robust than focusing on individual indicators, as it captures various facets of market dynamics. Classification occurs into six distinct regimes: Strong Bull, Bull Market, Neutral, Correction, Bear Market, and Crisis.
3.2 Trend Analysis Through Moving Averages
Moving averages are among the oldest and most widely used technical indicators and have also received attention in academic literature. Brock, Lakonishok, and LeBaron (1992) examined in "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns" the profitability of trading rules based on moving averages and found evidence for their predictive power, although later studies questioned the robustness of these results when considering transaction costs.
The model calculates three moving averages with different time windows: a 20-day average (approximately one trading month), a 50-day average (approximately one quarter), and a 200-day average (approximately one trading year). The relationship of the current price to these averages and the relationship of the averages to each other provide information about trend strength and direction. When the price trades above all three averages and the short-term average is above the long-term, this indicates an established uptrend. The model assigns points based on these constellations, with longer-term trends weighted more heavily as they are considered more persistent.
3.3 Volatility Regimes
Volatility, understood as the standard deviation of returns, is a central concept of financial theory and serves as the primary risk measure. However, research has shown that volatility is not constant but changes over time and occurs in clusters—a phenomenon first documented by Mandelbrot (1963) and later formalized through ARCH and GARCH models (Engle, 1982; Bollerslev, 1986).
DEAM calculates volatility not only through the classic method of return standard deviation but also uses more advanced estimators such as the Parkinson estimator and the Garman-Klass estimator. These methods utilize intraday information (high and low prices) and are more efficient than simple close-to-close volatility estimators. The Parkinson estimator (Parkinson, 1980) uses the range between high and low of a trading day and is based on the recognition that this information reveals more about true volatility than just the closing price difference. The Garman-Klass estimator (Garman and Klass, 1980) extends this approach by additionally considering opening and closing prices.
The calculated volatility is annualized by multiplying it by the square root of 252 (the average number of trading days per year), enabling standardized comparability. The model compares current volatility with the VIX, the implied volatility from option prices. A low VIX (below 15) signals market comfort and increases the regime score, while a high VIX (above 35) indicates market stress and reduces the score. This interpretation follows the empirical observation that elevated volatility is typically associated with falling markets (Schwert, 1989).
3.4 Drawdown Analysis
A drawdown refers to the percentage decline from the highest point (peak) to the lowest point (trough) during a specific period. This metric is psychologically significant for investors as it represents the maximum loss experienced. Calmar (1991) developed the Calmar Ratio, which relates return to maximum drawdown, underscoring the practical relevance of this metric.
The model calculates current drawdown as the percentage distance from the highest price of the last 252 trading days (one year). A drawdown below 3% is considered negligible and maximally increases the regime score. As drawdown increases, the score decreases progressively, with drawdowns above 20% classified as severe and indicating a crisis or bear market regime. These thresholds are empirically motivated by historical market cycles, in which corrections typically encompassed 5-10% drawdowns, bear markets 20-30%, and crises over 30%.
3.5 Regime Classification
Final regime classification occurs through aggregation of scores from trend (40% weight), volatility (30%), and drawdown (30%). The higher weighting of trend reflects the empirical observation that trend-following strategies have historically delivered robust results (Moskowitz, Ooi, and Pedersen, 2012). A total score above 80 signals a strong bull market with established uptrend, low volatility, and minimal losses. At a score below 10, a crisis situation exists requiring defensive positioning. The six regime categories enable a differentiated allocation strategy that not only distinguishes binarily between bullish and bearish but allows gradual gradations.
4. Component 2: Risk-Based Allocation
4.1 Volatility Targeting as Risk Management Approach
The concept of volatility targeting is based on the idea that investors should maximize not returns but risk-adjusted returns. Sharpe (1966, 1994) defined with the Sharpe Ratio the fundamental concept of return per unit of risk, measured as volatility. Volatility targeting goes a step further and adjusts portfolio allocation to achieve constant target volatility. This means that in times of low market volatility, equity allocation is increased, and in times of high volatility, it is reduced.
Moreira and Muir (2017) showed in "Volatility-Managed Portfolios" that strategies that adjust their exposure based on volatility forecasts achieve higher Sharpe Ratios than passive buy-and-hold strategies. DEAM implements this principle by defining a target portfolio volatility (default 12% annualized) and adjusting equity allocation to achieve it. The mathematical foundation is simple: if market volatility is 20% and target volatility is 12%, equity allocation should be 60% (12/20 = 0.6), with the remaining 40% held in cash with zero volatility.
4.2 Market Volatility Calculation
Estimating current market volatility is central to the risk-based allocation approach. The model uses several volatility estimators in parallel and selects the higher value between traditional close-to-close volatility and the Parkinson estimator. This conservative choice ensures the model does not underestimate true volatility, which could lead to excessive risk exposure.
Traditional volatility calculation uses logarithmic returns, as these have mathematically advantageous properties (additive linkage over multiple periods). The logarithmic return is calculated as ln(P_t / P_{t-1}), where P_t is the price at time t. The standard deviation of these returns over a rolling 20-trading-day window is then multiplied by √252 to obtain annualized volatility. This annualization is based on the assumption of independently identically distributed returns, which is an idealization but widely accepted in practice.
The Parkinson estimator uses additional information from the trading range (High minus Low) of each day. The formula is: σ_P = (1/√(4ln2)) × √(1/n × Σln²(H_i/L_i)) × √252, where H_i and L_i are high and low prices. Under ideal conditions, this estimator is approximately five times more efficient than the close-to-close estimator (Parkinson, 1980), as it uses more information per observation.
4.3 Drawdown-Based Position Size Adjustment
In addition to volatility targeting, the model implements drawdown-based risk control. The logic is that deep market declines often signal further losses and therefore justify exposure reduction. This behavior corresponds with the concept of path-dependent risk tolerance: investors who have already suffered losses are typically less willing to take additional risk (Kahneman and Tversky, 1979).
The model defines a maximum portfolio drawdown as a target parameter (default 15%). Since portfolio volatility and portfolio drawdown are proportional to equity allocation (assuming cash has neither volatility nor drawdown), allocation-based control is possible. For example, if the market exhibits a 25% drawdown and target portfolio drawdown is 15%, equity allocation should be at most 60% (15/25).
4.4 Dynamic Risk Adjustment
An advanced feature of DEAM is dynamic adjustment of risk-based allocation through a feedback mechanism. The model continuously estimates what actual portfolio volatility and portfolio drawdown would result at the current allocation. If risk utilization (ratio of actual to target risk) exceeds 1.0, allocation is reduced by an adjustment factor that grows exponentially with overutilization. This implements a form of dynamic feedback that avoids overexposure.
Mathematically, a risk adjustment factor r_adjust is calculated: if risk utilization u > 1, then r_adjust = exp(-0.5 × (u - 1)). This exponential function ensures that moderate overutilization is gently corrected, while strong overutilization triggers drastic reductions. The factor 0.5 in the exponent was empirically calibrated to achieve a balanced ratio between sensitivity and stability.
5. Component 3: Valuation Analysis
5.1 Theoretical Foundations of Fundamental Valuation
DEAM's valuation component is based on the fundamental premise that the intrinsic value of a security is determined by its future cash flows and that deviations between market price and intrinsic value are eventually corrected. Graham and Dodd (1934) established in "Security Analysis" the basic principles of fundamental analysis that remain relevant today. Translated into modern portfolio context, this means that markets with high valuation metrics (high price-earnings ratios) should have lower expected returns than cheaply valued markets.
Campbell and Shiller (1988) developed the Cyclically Adjusted P/E Ratio (CAPE), which smooths earnings over a full business cycle. Their empirical analysis showed that this ratio has significant predictive power for 10-year returns. Asness, Moskowitz, and Pedersen (2013) demonstrated in "Value and Momentum Everywhere" that value effects exist not only in individual stocks but also in asset classes and markets.
5.2 Equity Risk Premium as Central Valuation Metric
The Equity Risk Premium (ERP) is defined as the expected excess return of stocks over risk-free government bonds. It is the theoretical heart of valuation analysis, as it represents the compensation investors demand for bearing equity risk. Damodaran (2012) discusses in "Equity Risk Premiums: Determinants, Estimation and Implications" various methods for ERP estimation.
DEAM calculates ERP not through a single method but combines four complementary approaches with different weights. This multi-method strategy increases estimation robustness and avoids dependence on single, potentially erroneous inputs.
The first method (35% weight) uses earnings yield, calculated as 1/P/E or directly from operating earnings data, and subtracts the 10-year Treasury yield. This method follows Fed Model logic (Yardeni, 2003), although this model has theoretical weaknesses as it does not consistently treat inflation (Asness, 2003).
The second method (30% weight) extends earnings yield by share buyback yield. Share buybacks are a form of capital return to shareholders and increase value per share. Boudoukh et al. (2007) showed in "The Total Shareholder Yield" that the sum of dividend yield and buyback yield is a better predictor of future returns than dividend yield alone.
The third method (20% weight) implements the Gordon Growth Model (Gordon, 1962), which models stock value as the sum of discounted future dividends. Under constant growth g assumption: Expected Return = Dividend Yield + g. The model estimates sustainable growth as g = ROE × (1 - Payout Ratio), where ROE is return on equity and payout ratio is the ratio of dividends to earnings. This formula follows from equity theory: unretained earnings are reinvested at ROE and generate additional earnings growth.
The fourth method (15% weight) combines total shareholder yield (Dividend + Buybacks) with implied growth derived from revenue growth. This method considers that companies with strong revenue growth should generate higher future earnings, even if current valuations do not yet fully reflect this.
The final ERP is the weighted average of these four methods. A high ERP (above 4%) signals attractive valuations and increases the valuation score to 95 out of 100 possible points. A negative ERP, where stocks have lower expected returns than bonds, results in a minimal score of 10.
5.3 Quality Adjustments to Valuation
Valuation metrics alone can be misleading if not interpreted in the context of company quality. A company with a low P/E may be cheap or fundamentally problematic. The model therefore implements quality adjustments based on growth, profitability, and capital structure.
Revenue growth above 10% annually adds 10 points to the valuation score, moderate growth above 5% adds 5 points. This adjustment reflects that growth has independent value (Modigliani and Miller, 1961, extended by later growth theory). Net margin above 15% signals pricing power and operational efficiency and increases the score by 5 points, while low margins below 8% indicate competitive pressure and subtract 5 points.
Return on equity (ROE) above 20% characterizes outstanding capital efficiency and increases the score by 5 points. Piotroski (2000) showed in "Value Investing: The Use of Historical Financial Statement Information" that fundamental quality signals such as high ROE can improve the performance of value strategies.
Capital structure is evaluated through the debt-to-equity ratio. A conservative ratio below 1.0 multiplies the valuation score by 1.2, while high leverage above 2.0 applies a multiplier of 0.8. This adjustment reflects that high debt constrains financial flexibility and can become problematic in crisis times (Korteweg, 2010).
6. Component 4: Sentiment Analysis
6.1 The Role of Sentiment in Financial Markets
Investor sentiment, defined as the collective psychological attitude of market participants, influences asset prices independently of fundamental data. Baker and Wurgler (2006, 2007) developed a sentiment index and showed that periods of high sentiment are followed by overvaluations that later correct. This insight justifies integrating a sentiment component into allocation decisions.
Sentiment is difficult to measure directly but can be proxied through market indicators. The VIX is the most widely used sentiment indicator, as it aggregates implied volatility from option prices. High VIX values reflect elevated uncertainty and risk aversion, while low values signal market comfort. Whaley (2009) refers to the VIX as the "Investor Fear Gauge" and documents its role as a contrarian indicator: extremely high values typically occur at market bottoms, while low values occur at tops.
6.2 VIX-Based Sentiment Assessment
DEAM uses statistical normalization of the VIX by calculating the Z-score: z = (VIX_current - VIX_average) / VIX_standard_deviation. The Z-score indicates how many standard deviations the current VIX is from the historical average. This approach is more robust than absolute thresholds, as it adapts to the average volatility level, which can vary over longer periods.
A Z-score below -1.5 (VIX is 1.5 standard deviations below average) signals exceptionally low risk perception and adds 40 points to the sentiment score. This may seem counterintuitive—shouldn't low fear be bullish? However, the logic follows the contrarian principle: when no one is afraid, everyone is already invested, and there is limited further upside potential (Zweig, 1973). Conversely, a Z-score above 1.5 (extreme fear) adds -40 points, reflecting market panic but simultaneously suggesting potential buying opportunities.
6.3 VIX Term Structure as Sentiment Signal
The VIX term structure provides additional sentiment information. Normally, the VIX trades in contango, meaning longer-term VIX futures have higher prices than short-term. This reflects that short-term volatility is currently known, while long-term volatility is more uncertain and carries a risk premium. The model compares the VIX with VIX9D (9-day volatility) and identifies backwardation (VIX > 1.05 × VIX9D) and steep backwardation (VIX > 1.15 × VIX9D).
Backwardation occurs when short-term implied volatility is higher than longer-term, which typically happens during market stress. Investors anticipate immediate turbulence but expect calming. Psychologically, this reflects acute fear. The model subtracts 15 points for backwardation and 30 for steep backwardation, as these constellations signal elevated risk. Simon and Wiggins (2001) analyzed the VIX futures curve and showed that backwardation is associated with market declines.
6.4 Safe-Haven Flows
During crisis times, investors flee from risky assets into safe havens: gold, US dollar, and Japanese yen. This "flight to quality" is a sentiment signal. The model calculates the performance of these assets relative to stocks over the last 20 trading days. When gold or the dollar strongly rise while stocks fall, this indicates elevated risk aversion.
The safe-haven component is calculated as the difference between safe-haven performance and stock performance. Positive values (safe havens outperform) subtract up to 20 points from the sentiment score, negative values (stocks outperform) add up to 10 points. The asymmetric treatment (larger deduction for risk-off than bonus for risk-on) reflects that risk-off movements are typically sharper and more informative than risk-on phases.
Baur and Lucey (2010) examined safe-haven properties of gold and showed that gold indeed exhibits negative correlation with stocks during extreme market movements, confirming its role as crisis protection.
7. Component 5: Macroeconomic Analysis
7.1 The Yield Curve as Economic Indicator
The yield curve, represented as yields of government bonds of various maturities, contains aggregated expectations about future interest rates, inflation, and economic growth. The slope of the yield curve has remarkable predictive power for recessions. Estrella and Mishkin (1998) showed that an inverted yield curve (short-term rates higher than long-term) predicts recessions with high reliability. This is because inverted curves reflect restrictive monetary policy: the central bank raises short-term rates to combat inflation, dampening economic activity.
DEAM calculates two spread measures: the 2-year-minus-10-year spread and the 3-month-minus-10-year spread. A steep, positive curve (spreads above 1.5% and 2% respectively) signals healthy growth expectations and generates the maximum yield curve score of 40 points. A flat curve (spreads near zero) reduces the score to 20 points. An inverted curve (negative spreads) is particularly alarming and results in only 10 points.
The choice of two different spreads increases analysis robustness. The 2-10 spread is most established in academic literature, while the 3M-10Y spread is often considered more sensitive, as the 3-month rate directly reflects current monetary policy (Ang, Piazzesi, and Wei, 2006).
7.2 Credit Conditions and Spreads
Credit spreads—the yield difference between risky corporate bonds and safe government bonds—reflect risk perception in the credit market. Gilchrist and Zakrajšek (2012) constructed an "Excess Bond Premium" that measures the component of credit spreads not explained by fundamentals and showed this is a predictor of future economic activity and stock returns.
The model approximates credit spread by comparing the yield of high-yield bond ETFs (HYG) with investment-grade bond ETFs (LQD). A narrow spread below 200 basis points signals healthy credit conditions and risk appetite, contributing 30 points to the macro score. Very wide spreads above 1000 basis points (as during the 2008 financial crisis) signal credit crunch and generate zero points.
Additionally, the model evaluates whether "flight to quality" is occurring, identified through strong performance of Treasury bonds (TLT) with simultaneous weakness in high-yield bonds. This constellation indicates elevated risk aversion and reduces the credit conditions score.
7.3 Financial Stability at Corporate Level
While the yield curve and credit spreads reflect macroeconomic conditions, financial stability evaluates the health of companies themselves. The model uses the aggregated debt-to-equity ratio and return on equity of the S&P 500 as proxies for corporate health.
A low leverage level below 0.5 combined with high ROE above 15% signals robust corporate balance sheets and generates 20 points. This combination is particularly valuable as it represents both defensive strength (low debt means crisis resistance) and offensive strength (high ROE means earnings power). High leverage above 1.5 generates only 5 points, as it implies vulnerability to interest rate increases and recessions.
Korteweg (2010) showed in "The Net Benefits to Leverage" that optimal debt maximizes firm value, but excessive debt increases distress costs. At the aggregated market level, high debt indicates fragilities that can become problematic during stress phases.
8. Component 6: Crisis Detection
8.1 The Need for Systematic Crisis Detection
Financial crises are rare but extremely impactful events that suspend normal statistical relationships. During normal market volatility, diversified portfolios and traditional risk management approaches function, but during systemic crises, seemingly independent assets suddenly correlate strongly, and losses exceed historical expectations (Longin and Solnik, 2001). This justifies a separate crisis detection mechanism that operates independently of regular allocation components.
Reinhart and Rogoff (2009) documented in "This Time Is Different: Eight Centuries of Financial Folly" recurring patterns in financial crises: extreme volatility, massive drawdowns, credit market dysfunction, and asset price collapse. DEAM operationalizes these patterns into quantifiable crisis indicators.
8.2 Multi-Signal Crisis Identification
The model uses a counter-based approach where various stress signals are identified and aggregated. This methodology is more robust than relying on a single indicator, as true crises typically occur simultaneously across multiple dimensions. A single signal may be a false alarm, but the simultaneous presence of multiple signals increases confidence.
The first indicator is a VIX above the crisis threshold (default 40), adding one point. A VIX above 60 (as in 2008 and March 2020) adds two additional points, as such extreme values are historically very rare. This tiered approach captures the intensity of volatility.
The second indicator is market drawdown. A drawdown above 15% adds one point, as corrections of this magnitude can be potential harbingers of larger crises. A drawdown above 25% adds another point, as historical bear markets typically encompass 25-40% drawdowns.
The third indicator is credit market spreads above 500 basis points, adding one point. Such wide spreads occur only during significant credit market disruptions, as in 2008 during the Lehman crisis.
The fourth indicator identifies simultaneous losses in stocks and bonds. Normally, Treasury bonds act as a hedge against equity risk (negative correlation), but when both fall simultaneously, this indicates systemic liquidity problems or inflation/stagflation fears. The model checks whether both SPY and TLT have fallen more than 10% and 5% respectively over 5 trading days, adding two points.
The fifth indicator is a volume spike combined with negative returns. Extreme trading volumes (above twice the 20-day average) with falling prices signal panic selling. This adds one point.
A crisis situation is diagnosed when at least 3 indicators trigger, a severe crisis at 5 or more indicators. These thresholds were calibrated through historical backtesting to identify true crises (2008, 2020) without generating excessive false alarms.
8.3 Crisis-Based Allocation Override
When a crisis is detected, the system overrides the normal allocation recommendation and caps equity allocation at maximum 25%. In a severe crisis, the cap is set at 10%. This drastic defensive posture follows the empirical observation that crises typically require time to develop and that early reduction can avoid substantial losses (Faber, 2007).
This override logic implements a "safety first" principle: in situations of existential danger to the portfolio, capital preservation becomes the top priority. Roy (1952) formalized this approach in "Safety First and the Holding of Assets," arguing that investors should primarily minimize ruin probability.
9. Integration and Final Allocation Calculation
9.1 Component Weighting
The final allocation recommendation emerges through weighted aggregation of the five components. The standard weighting is: Market Regime 35%, Risk Management 25%, Valuation 20%, Sentiment 15%, Macro 5%. These weights reflect both theoretical considerations and empirical backtesting results.
The highest weighting of market regime is based on evidence that trend-following and momentum strategies have delivered robust results across various asset classes and time periods (Moskowitz, Ooi, and Pedersen, 2012). Current market momentum is highly informative for the near future, although it provides no information about long-term expectations.
The substantial weighting of risk management (25%) follows from the central importance of risk control. Wealth preservation is the foundation of long-term wealth creation, and systematic risk management is demonstrably value-creating (Moreira and Muir, 2017).
The valuation component receives 20% weight, based on the long-term mean reversion of valuation metrics. While valuation has limited short-term predictive power (bull and bear markets can begin at any valuation), the long-term relationship between valuation and returns is robustly documented (Campbell and Shiller, 1988).
Sentiment (15%) and Macro (5%) receive lower weights, as these factors are subtler and harder to measure. Sentiment is valuable as a contrarian indicator at extremes but less informative in normal ranges. Macro variables such as the yield curve have strong predictive power for recessions, but the transmission from recessions to stock market performance is complex and temporally variable.
9.2 Model Type Adjustments
DEAM allows users to choose between four model types: Conservative, Balanced, Aggressive, and Adaptive. This choice modifies the final allocation through additive adjustments.
Conservative mode subtracts 10 percentage points from allocation, resulting in consistently more cautious positioning. This is suitable for risk-averse investors or those with limited investment horizons. Aggressive mode adds 10 percentage points, suitable for risk-tolerant investors with long horizons.
Adaptive mode implements procyclical adjustment based on short-term momentum: if the market has risen more than 5% in the last 20 days, 5 percentage points are added; if it has declined more than 5%, 5 points are subtracted. This logic follows the observation that short-term momentum persists (Jegadeesh and Titman, 1993), but the moderate size of adjustment avoids excessive timing bets.
Balanced mode makes no adjustment and uses raw model output. This neutral setting is suitable for investors who wish to trust model recommendations unchanged.
9.3 Smoothing and Stability
The allocation resulting from aggregation undergoes final smoothing through a simple moving average over 3 periods. This smoothing is crucial for model practicality, as it reduces frequent trading and thus transaction costs. Without smoothing, the model could fluctuate between adjacent allocations with every small input change.
The choice of 3 periods as smoothing window is a compromise between responsiveness and stability. Longer smoothing would excessively delay signals and impede response to true regime changes. Shorter or no smoothing would allow too much noise. Empirical tests showed that 3-period smoothing offers an optimal ratio between these goals.
10. Visualization and Interpretation
10.1 Main Output: Equity Allocation
DEAM's primary output is a time series from 0 to 100 representing the recommended percentage allocation to equities. This representation is intuitive: 100% means full investment in stocks (specifically: an S&P 500 ETF), 0% means complete cash position, and intermediate values correspond to mixed portfolios. A value of 60% means, for example: invest 60% of wealth in SPY, hold 40% in money market instruments or cash.
The time series is color-coded to enable quick visual interpretation. Green shades represent high allocations (above 80%, bullish), red shades low allocations (below 20%, bearish), and neutral colors middle allocations. The chart background is dynamically colored based on the signal, enhancing readability in different market phases.
10.2 Dashboard Metrics
A tabular dashboard presents key metrics compactly. This includes current allocation, cash allocation (complement), an aggregated signal (BULLISH/NEUTRAL/BEARISH), current market regime, VIX level, market drawdown, and crisis status.
Additionally, fundamental metrics are displayed: P/E Ratio, Equity Risk Premium, Return on Equity, Debt-to-Equity Ratio, and Total Shareholder Yield. This transparency allows users to understand model decisions and form their own assessments.
Component scores (Regime, Risk, Valuation, Sentiment, Macro) are also displayed, each normalized on a 0-100 scale. This shows which factors primarily drive the current recommendation. If, for example, the Risk score is very low (20) while other scores are moderate (50-60), this indicates that risk management considerations are pulling allocation down.
10.3 Component Breakdown (Optional)
Advanced users can display individual components as separate lines in the chart. This enables analysis of component dynamics: do all components move synchronously, or are there divergences? Divergences can be particularly informative. If, for example, the market regime is bullish (high score) but the valuation component is very negative, this signals an overbought market not fundamentally supported—a classic "bubble warning."
This feature is disabled by default to keep the chart clean but can be activated for deeper analysis.
10.4 Confidence Bands
The model optionally displays uncertainty bands around the main allocation line. These are calculated as ±1 standard deviation of allocation over a rolling 20-period window. Wide bands indicate high volatility of model recommendations, suggesting uncertain market conditions. Narrow bands indicate stable recommendations.
This visualization implements a concept of epistemic uncertainty—uncertainty about the model estimate itself, not just market volatility. In phases where various indicators send conflicting signals, the allocation recommendation becomes more volatile, manifesting in wider bands. Users can understand this as a warning to act more cautiously or consult alternative information sources.
11. Alert System
11.1 Allocation Alerts
DEAM implements an alert system that notifies users of significant events. Allocation alerts trigger when smoothed allocation crosses certain thresholds. An alert is generated when allocation reaches 80% (from below), signaling strong bullish conditions. Another alert triggers when allocation falls to 20%, indicating defensive positioning.
These thresholds are not arbitrary but correspond with boundaries between model regimes. An allocation of 80% roughly corresponds to a clear bull market regime, while 20% corresponds to a bear market regime. Alerts at these points are therefore informative about fundamental regime shifts.
11.2 Crisis Alerts
Separate alerts trigger upon detection of crisis and severe crisis. These alerts have highest priority as they signal large risks. A crisis alert should prompt investors to review their portfolio and potentially take defensive measures beyond the automatic model recommendation (e.g., hedging through put options, rebalancing to more defensive sectors).
11.3 Regime Change Alerts
An alert triggers upon change of market regime (e.g., from Neutral to Correction, or from Bull Market to Strong Bull). Regime changes are highly informative events that typically entail substantial allocation changes. These alerts enable investors to proactively respond to changes in market dynamics.
11.4 Risk Breach Alerts
A specialized alert triggers when actual portfolio risk utilization exceeds target parameters by 20%. This is a warning signal that the risk management system is reaching its limits, possibly because market volatility is rising faster than allocation can be reduced. In such situations, investors should consider manual interventions.
12. Practical Application and Limitations
12.1 Portfolio Implementation
DEAM generates a recommendation for allocation between equities (S&P 500) and cash. Implementation by an investor can take various forms. The most direct method is using an S&P 500 ETF (e.g., SPY, VOO) for equity allocation and a money market fund or savings account for cash allocation.
A rebalancing strategy is required to synchronize actual allocation with model recommendation. Two approaches are possible: (1) rule-based rebalancing at every 10% deviation between actual and target, or (2) time-based monthly rebalancing. Both have trade-offs between responsiveness and transaction costs. Empirical evidence (Jaconetti, Kinniry, and Zilbering, 2010) suggests rebalancing frequency has moderate impact on performance, and investors should optimize based on their transaction costs.
12.2 Adaptation to Individual Preferences
The model offers numerous adjustment parameters. Component weights can be modified if investors place more or less belief in certain factors. A fundamentally-oriented investor might increase valuation weight, while a technical trader might increase regime weight.
Risk target parameters (target volatility, max drawdown) should be adapted to individual risk tolerance. Younger investors with long investment horizons can choose higher target volatility (15-18%), while retirees may prefer lower volatility (8-10%). This adjustment systematically shifts average equity allocation.
Crisis thresholds can be adjusted based on preference for sensitivity versus specificity of crisis detection. Lower thresholds (e.g., VIX > 35 instead of 40) increase sensitivity (more crises are detected) but reduce specificity (more false alarms). Higher thresholds have the reverse effect.
12.3 Limitations and Disclaimers
DEAM is based on historical relationships between indicators and market performance. There is no guarantee these relationships will persist in the future. Structural changes in markets (e.g., through regulation, technology, or central bank policy) can break established patterns. This is the fundamental problem of induction in financial science (Taleb, 2007).
The model is optimized for US equities (S&P 500). Application to other markets (international stocks, bonds, commodities) would require recalibration. The indicators and thresholds are specific to the statistical properties of the US equity market.
The model cannot eliminate losses. Even with perfect crisis prediction, an investor following the model would lose money in bear markets—just less than a buy-and-hold investor. The goal is risk-adjusted performance improvement, not risk elimination.
Transaction costs are not modeled. In practice, spreads, commissions, and taxes reduce net returns. Frequent trading can cause substantial costs. Model smoothing helps minimize this, but users should consider their specific cost situation.
The model reacts to information; it does not anticipate it. During sudden shocks (e.g., 9/11, COVID-19 lockdowns), the model can only react after price movements, not before. This limitation is inherent to all reactive systems.
12.4 Relationship to Other Strategies
DEAM is a tactical asset allocation approach and should be viewed as a complement, not replacement, for strategic asset allocation. Brinson, Hood, and Beebower (1986) showed in their influential study "Determinants of Portfolio Performance" that strategic asset allocation (long-term policy allocation) explains the majority of portfolio performance, but this leaves room for tactical adjustments based on market timing.
The model can be combined with value and momentum strategies at the individual stock level. While DEAM controls overall market exposure, within-equity decisions can be optimized through stock-picking models. This separation between strategic (market exposure) and tactical (stock selection) levels follows classical portfolio theory.
The model does not replace diversification across asset classes. A complete portfolio should also include bonds, international stocks, real estate, and alternative investments. DEAM addresses only the US equity allocation decision within a broader portfolio.
13. Scientific Foundation and Evaluation
13.1 Theoretical Consistency
DEAM's components are based on established financial theory and empirical evidence. The market regime component follows from regime-switching models (Hamilton, 1989) and trend-following literature. The risk management component implements volatility targeting (Moreira and Muir, 2017) and modern portfolio theory (Markowitz, 1952). The valuation component is based on discounted cash flow theory and empirical value research (Campbell and Shiller, 1988; Fama and French, 1992). The sentiment component integrates behavioral finance (Baker and Wurgler, 2006). The macro component uses established business cycle indicators (Estrella and Mishkin, 1998).
This theoretical grounding distinguishes DEAM from purely data-mining-based approaches that identify patterns without causal theory. Theory-guided models have greater probability of functioning out-of-sample, as they are based on fundamental mechanisms, not random correlations (Lo and MacKinlay, 1990).
13.2 Empirical Validation
While this document does not present detailed backtest analysis, it should be noted that rigorous validation of a tactical asset allocation model should include several elements:
In-sample testing establishes whether the model functions at all in the data on which it was calibrated. Out-of-sample testing is crucial: the model should be tested in time periods not used for development. Walk-forward analysis, where the model is successively trained on rolling windows and tested in the next window, approximates real implementation.
Performance metrics should be risk-adjusted. Pure return consideration is misleading, as higher returns often only compensate for higher risk. Sharpe Ratio, Sortino Ratio, Calmar Ratio, and Maximum Drawdown are relevant metrics. Comparison with benchmarks (Buy-and-Hold S&P 500, 60/40 Stock/Bond portfolio) contextualizes performance.
Robustness checks test sensitivity to parameter variation. If the model only functions at specific parameter settings, this indicates overfitting. Robust models show consistent performance over a range of plausible parameters.
13.3 Comparison with Existing Literature
DEAM fits into the broader literature on tactical asset allocation. Faber (2007) presented a simple momentum-based timing system that goes long when the market is above its 10-month average, otherwise cash. This simple system avoided large drawdowns in bear markets. DEAM can be understood as a sophistication of this approach that integrates multiple information sources.
Ilmanen (2011) discusses various timing factors in "Expected Returns" and argues for multi-factor approaches. DEAM operationalizes this philosophy. Asness, Moskowitz, and Pedersen (2013) showed that value and momentum effects work across asset classes, justifying cross-asset application of regime and valuation signals.
Ang (2014) emphasizes in "Asset Management: A Systematic Approach to Factor Investing" the importance of systematic, rule-based approaches over discretionary decisions. DEAM is fully systematic and eliminates emotional biases that plague individual investors (overconfidence, hindsight bias, loss aversion).
References
Ang, A. (2014) *Asset Management: A Systematic Approach to Factor Investing*. Oxford: Oxford University Press.
Ang, A., Piazzesi, M. and Wei, M. (2006) 'What does the yield curve tell us about GDP growth?', *Journal of Econometrics*, 131(1-2), pp. 359-403.
Asness, C.S. (2003) 'Fight the Fed Model', *The Journal of Portfolio Management*, 30(1), pp. 11-24.
Asness, C.S., Moskowitz, T.J. and Pedersen, L.H. (2013) 'Value and Momentum Everywhere', *The Journal of Finance*, 68(3), pp. 929-985.
Baker, M. and Wurgler, J. (2006) 'Investor Sentiment and the Cross-Section of Stock Returns', *The Journal of Finance*, 61(4), pp. 1645-1680.
Baker, M. and Wurgler, J. (2007) 'Investor Sentiment in the Stock Market', *Journal of Economic Perspectives*, 21(2), pp. 129-152.
Baur, D.G. and Lucey, B.M. (2010) 'Is Gold a Hedge or a Safe Haven? An Analysis of Stocks, Bonds and Gold', *Financial Review*, 45(2), pp. 217-229.
Bollerslev, T. (1986) 'Generalized Autoregressive Conditional Heteroskedasticity', *Journal of Econometrics*, 31(3), pp. 307-327.
Boudoukh, J., Michaely, R., Richardson, M. and Roberts, M.R. (2007) 'On the Importance of Measuring Payout Yield: Implications for Empirical Asset Pricing', *The Journal of Finance*, 62(2), pp. 877-915.
Brinson, G.P., Hood, L.R. and Beebower, G.L. (1986) 'Determinants of Portfolio Performance', *Financial Analysts Journal*, 42(4), pp. 39-44.
Brock, W., Lakonishok, J. and LeBaron, B. (1992) 'Simple Technical Trading Rules and the Stochastic Properties of Stock Returns', *The Journal of Finance*, 47(5), pp. 1731-1764.
Calmar, T.W. (1991) 'The Calmar Ratio', *Futures*, October issue.
Campbell, J.Y. and Shiller, R.J. (1988) 'The Dividend-Price Ratio and Expectations of Future Dividends and Discount Factors', *Review of Financial Studies*, 1(3), pp. 195-228.
Cochrane, J.H. (2011) 'Presidential Address: Discount Rates', *The Journal of Finance*, 66(4), pp. 1047-1108.
Damodaran, A. (2012) *Equity Risk Premiums: Determinants, Estimation and Implications*. Working Paper, Stern School of Business.
Engle, R.F. (1982) 'Autoregressive Conditional Heteroskedasticity with Estimates of the Variance of United Kingdom Inflation', *Econometrica*, 50(4), pp. 987-1007.
Estrella, A. and Hardouvelis, G.A. (1991) 'The Term Structure as a Predictor of Real Economic Activity', *The Journal of Finance*, 46(2), pp. 555-576.
Estrella, A. and Mishkin, F.S. (1998) 'Predicting U.S. Recessions: Financial Variables as Leading Indicators', *Review of Economics and Statistics*, 80(1), pp. 45-61.
Faber, M.T. (2007) 'A Quantitative Approach to Tactical Asset Allocation', *The Journal of Wealth Management*, 9(4), pp. 69-79.
Fama, E.F. and French, K.R. (1989) 'Business Conditions and Expected Returns on Stocks and Bonds', *Journal of Financial Economics*, 25(1), pp. 23-49.
Fama, E.F. and French, K.R. (1992) 'The Cross-Section of Expected Stock Returns', *The Journal of Finance*, 47(2), pp. 427-465.
Garman, M.B. and Klass, M.J. (1980) 'On the Estimation of Security Price Volatilities from Historical Data', *Journal of Business*, 53(1), pp. 67-78.
Gilchrist, S. and Zakrajšek, E. (2012) 'Credit Spreads and Business Cycle Fluctuations', *American Economic Review*, 102(4), pp. 1692-1720.
Gordon, M.J. (1962) *The Investment, Financing, and Valuation of the Corporation*. Homewood: Irwin.
Graham, B. and Dodd, D.L. (1934) *Security Analysis*. New York: McGraw-Hill.
Hamilton, J.D. (1989) 'A New Approach to the Economic Analysis of Nonstationary Time Series and the Business Cycle', *Econometrica*, 57(2), pp. 357-384.
Ilmanen, A. (2011) *Expected Returns: An Investor's Guide to Harvesting Market Rewards*. Chichester: Wiley.
Jaconetti, C.M., Kinniry, F.M. and Zilbering, Y. (2010) 'Best Practices for Portfolio Rebalancing', *Vanguard Research Paper*.
Jegadeesh, N. and Titman, S. (1993) 'Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency', *The Journal of Finance*, 48(1), pp. 65-91.
Kahneman, D. and Tversky, A. (1979) 'Prospect Theory: An Analysis of Decision under Risk', *Econometrica*, 47(2), pp. 263-292.
Korteweg, A. (2010) 'The Net Benefits to Leverage', *The Journal of Finance*, 65(6), pp. 2137-2170.
Lo, A.W. and MacKinlay, A.C. (1990) 'Data-Snooping Biases in Tests of Financial Asset Pricing Models', *Review of Financial Studies*, 3(3), pp. 431-467.
Longin, F. and Solnik, B. (2001) 'Extreme Correlation of International Equity Markets', *The Journal of Finance*, 56(2), pp. 649-676.
Mandelbrot, B. (1963) 'The Variation of Certain Speculative Prices', *The Journal of Business*, 36(4), pp. 394-419.
Markowitz, H. (1952) 'Portfolio Selection', *The Journal of Finance*, 7(1), pp. 77-91.
Modigliani, F. and Miller, M.H. (1961) 'Dividend Policy, Growth, and the Valuation of Shares', *The Journal of Business*, 34(4), pp. 411-433.
Moreira, A. and Muir, T. (2017) 'Volatility-Managed Portfolios', *The Journal of Finance*, 72(4), pp. 1611-1644.
Moskowitz, T.J., Ooi, Y.H. and Pedersen, L.H. (2012) 'Time Series Momentum', *Journal of Financial Economics*, 104(2), pp. 228-250.
Parkinson, M. (1980) 'The Extreme Value Method for Estimating the Variance of the Rate of Return', *Journal of Business*, 53(1), pp. 61-65.
Piotroski, J.D. (2000) 'Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers', *Journal of Accounting Research*, 38, pp. 1-41.
Reinhart, C.M. and Rogoff, K.S. (2009) *This Time Is Different: Eight Centuries of Financial Folly*. Princeton: Princeton University Press.
Ross, S.A. (1976) 'The Arbitrage Theory of Capital Asset Pricing', *Journal of Economic Theory*, 13(3), pp. 341-360.
Roy, A.D. (1952) 'Safety First and the Holding of Assets', *Econometrica*, 20(3), pp. 431-449.
Schwert, G.W. (1989) 'Why Does Stock Market Volatility Change Over Time?', *The Journal of Finance*, 44(5), pp. 1115-1153.
Sharpe, W.F. (1966) 'Mutual Fund Performance', *The Journal of Business*, 39(1), pp. 119-138.
Sharpe, W.F. (1994) 'The Sharpe Ratio', *The Journal of Portfolio Management*, 21(1), pp. 49-58.
Simon, D.P. and Wiggins, R.A. (2001) 'S&P Futures Returns and Contrary Sentiment Indicators', *Journal of Futures Markets*, 21(5), pp. 447-462.
Taleb, N.N. (2007) *The Black Swan: The Impact of the Highly Improbable*. New York: Random House.
Whaley, R.E. (2000) 'The Investor Fear Gauge', *The Journal of Portfolio Management*, 26(3), pp. 12-17.
Whaley, R.E. (2009) 'Understanding the VIX', *The Journal of Portfolio Management*, 35(3), pp. 98-105.
Yardeni, E. (2003) 'Stock Valuation Models', *Topical Study*, 51, Yardeni Research.
Zweig, M.E. (1973) 'An Investor Expectations Stock Price Predictive Model Using Closed-End Fund Premiums', *The Journal of Finance*, 28(1), pp. 67-78.
Apex Flow | OquantOverview
Apex Flow is a rotational allocation indicator designed for cryptocurrency traders seeking to dynamically shift capital between a selection of assets based on trend strength and relative performance. It aims to capture upside in trending markets while reducing exposure during weaker periods by incorporating a multi-factor trend detection system and a relative strength ranking mechanism. This tool is built to provide a structured approach to portfolio allocation in crypto environments, emphasizing risk management through trend confirmation and a built-in risk-on filter to avoid drawdowns in non-conducive conditions. Its originality lies in the ensemble of customized trend filters combined with pairwise relative strength comparisons, which together create a robust scoring system for asset selection—going beyond simple momentum or single-indicator rotations to offer a more nuanced, adaptive strategy.
Key Factors/Components
Multi-Trend Detection Ensemble: Utilizes a blend of moving average-based filters, deviation bands, and momentum oscillators to evaluate overall market trend direction.
Relative Strength Ranking: Compares assets pairwise to determine dominance, assigning scores that influence allocation priorities.
Allocation Splits: Supports configurable splits between the top-performing asset(s) and secondary ones, allowing for concentrated or diversified exposure.
risk-on Filter: Applies smoothing techniques to the simulated portfolio equity to confirm uptrend viability, acting as a macro-level risk overlay.
Performance Metrics and Visuals: Includes built-in tables for allocations, metrics (like Sharpe, Sortino, Omega ratios, max drawdown, and net profit), and an asset matrix for transparency in decision-making.
How It Works
The indicator first assesses each asset's trend state using an ensemble of seven trend-following components, each contributing to a composite score that signals whether the asset is in a bullish trend, or bearish trend. Thresholds determine when an asset qualifies for allocation (e.g., requiring a majority positive score for inclusion). Next, eligible assets are ranked via relative strength calculations derived from pairwise trend comparisons, producing a dominance score for each. The highest-scoring asset(s) receive primary allocation, with optional secondary allocation to the next tier based on user-defined splits (e.g., 80/20). Daily returns are then used to simulate a portfolio equity curve, which is filtered through multiple smoothing methods to ensure the overall strategy is in an "up" state before committing capital—otherwise, it defaults to cash. This process helps prioritize stronger assets while incorporating safeguards against prolonged downtrends, though it may lag in rapidly reversing markets due to its confirmatory nature.
For Who It Is Best/Recommended Use Cases
This indicator is ideal for intermediate to advanced cryptocurrency traders who appreciate an active, systematic strategy for rotating capital across a basket of assets (e.g., major cryptos like BTC, ETH, SOL, and SUI). It's suited for medium-term on the 1D timeframe, where the ensemble of trend filters and relative strength rankings can identify and capitalize on multi-day to weekly momentum shifts in trending markets. Recommended for those actively managing diversified crypto portfolios to potentially outperform buy-and-hold benchmarks with controlled volatility. It's not optimized for short-term scalping (e.g., intraday), highly illiquid assets, or prolonged range-bound conditions, where its confirmatory logic may lead to delayed/false signals. Always integrate it with your own risk management practices.
Settings and Default Settings
Strategy Start Date: Timestamp for "1 Jan 2023" – Defines the backtest start; adjust to test different periods.
Assets: Asset 1 ("INDEX:BTCUSD"), Asset 2 ("INDEX:ETHUSD"), Asset 3 ("CRYPTO:SOLUSD"), Asset 4 ("CRYPTO:SUIUSD") – Select up to four cryptos; defaults focus on major ones.
Allocation Split: "100/0" – Options include 80/20, 70/30, 60/40; default fully allocates to the top asset(s).
Plot Equity Curves: Strategy equity and btc equity enabled by default – Toggle to visualize strategy and individual assets.
Show Tables: All enabled – Display allocation, metrics, and asset matrix for real-time insights.
Internal parameters like trend lengths and multipliers are fixed to balance sensitivity and reliability, optimized for daily crypto charts.
Conclusion
Apex Flow offers a systematic way to navigate crypto rotations by blending trend confirmation with relative strength, potentially enhancing returns in bullish cycles while preserving capital in others. Its ensemble approach and equity filter provide a layer of robustness not found in simpler rotators, making it a valuable addition for trend-oriented portfolios.
⚠️ Disclaimer: This indicator is intended for educational and informational purposes only. Trading/investing involves risk, and past performance does not guarantee future results. Always test and evaluate indicators/strategies before applying them in live markets. Use at your own risk.
Portfolio Simulator & BacktesterMulti-asset portfolio simulator with different metrics and ratios, DCA modeling, and rebalancing strategies.
Core Features
Portfolio Construction
Up to 5 assets with customizable weights (must total 100%)
Support for any tradable symbol: stocks, ETFs, crypto, indices, commodities
Real-time validation of allocations
Dollar Cost Averaging
Monthly or Quarterly contributions
Applies to both portfolio and benchmark for fair comparison
Model real-world investing behavior
Rebalancing
Four strategies: None, Monthly, Quarterly, Yearly
Automatic rebalancing to target weights
Transaction cost modeling (customizable fee %)
Key Metrics Table
CAGR: Annualized compound return (S&P 500 avg: ~10%)
Alpha: Excess return vs. benchmark (positive = outperformance)
Sharpe Ratio: Return per unit of risk (>1.0 is good, >2.0 excellent)
Sortino Ratio: Like Sharpe but only penalizes downside (better metric)
Calmar Ratio: CAGR / Max Drawdown (>1.0 good, >2.0 excellent)
Max Drawdown: Largest peak-to-trough decline
Win Rate: % of positive days (doesn't indicate profitability)
Visualization
Dual-chart comparison - Portfolio vs. Benchmark
Dollar or percentage view toggle
Customizable colors and line width
Two tables: Statistics + Asset Allocation
Adjustable table position and text size
🚀 Quick Start Guide
Enter 1-5 ticker symbols (e.g., SPY, QQQ, TLT, GLD, BTCUSD)
Make sure percentage weights total 100%
Choose date range (ensure chart shows full period - zoom out!)
Configure DCA and rebalancing (optional)
Select benchmark (default: SPX)
Analyze results in statistics table
💡 Pro Tips
Chart data matters: Load SPY or your longest-history asset as main chart
If you select an asset that was not available for the selected period, the chart will not show up! E.g. BTCUSD data: Only available from ~2017 onwards.
Transaction fees: 0.1% default (adjust to match your broker)
⚠️ Important Notes
Requires visible chart data (zoom out to show full date range)
Limited by each asset's historical data availability
Transaction fees and costs are modeled, but taxes/slippage are not
Past performance ≠ future results
Use for research and education only, not financial advice
Let me know if you have any suggestions to improve this simulator.
Macro Momentum – 4-Theme, Vol Target, RebalanceMacro Momentum — 4-Theme, Vol Target, Rebalance
Purpose. A macro-aware strategy that blends four economic “themes”—Business Cycle, Trade/USD, Monetary Policy, and Risk Sentiment—into a single, smoothed Composite signal. It then:
gates entries/exits with hysteresis bands,
enforces optional regime filters (200-day bias), and
sizes the position via volatility targeting with caps for long/short exposure.
It’s designed to run on any chart (index, ETF, futures, single stocks) while reading external macro proxies on a chosen Signal Timeframe.
How it works (high level)
Build four theme signals from robust macro proxies:
Business Cycle: XLI/XLU and Copper/Gold momentum, confirmed by the chart’s price vs a long SMA (default 200D).
Trade / USD: DXY momentum (sign-flipped so a rising USD is bearish for risk assets).
Monetary Policy: 10Y–2Y curve slope momentum and 10Y yield trend (steepening & falling 10Y = risk-on; rising 10Y = risk-off).
Risk Sentiment: VIX momentum (bearish if higher) and HYG/IEF momentum (bullish if credit outperforms duration).
Normalize & de-noise.
Optional Winsorization (MAD or stdev) clamps outliers over a lookback window.
Optional Z-score → tanh mapping compresses to ~ for stable weighting.
Theme lines are SMA-smoothed; the final Composite is LSMA-smoothed (linreg).
Decide direction with hysteresis.
Enter/hold long when Composite ≥ Entry Band; enter/hold short when Composite ≤ −Entry Band.
Exit bands are tighter than entry bands to avoid whipsaws.
Apply regime & direction constraints.
Optional Long-only above 200MA (chart symbol) and/or Short-only below 200MA.
Global Direction control (Long / Short / Both) and Invert switch.
Size via volatility targeting.
Realized close-to-close vol is annualized (choose 9-5 or 24/7 market profile).
Target exposure = TargetVol / RealizedVol, capped by Max Long/Max Short multipliers.
Quantity is computed from equity; futures are rounded to whole contracts.
Rebalance cadence & execution.
Trades are placed on Weekly / Monthly / Quarterly rebalance bars or when the sign of exposure flips.
Optional ATR stop/TP for single-stock style risk management.
Inputs you’ll actually tweak
General
Signal Timeframe: Where macro is sampled (e.g., D/W).
Rebalance Frequency: Weekly / Monthly / Quarterly.
ROC & SMA lengths: Defaults for theme momentum and the 200D regime filter.
Normalization: Z-score (tanh) on/off.
Winsorization
Toggle, lookback, multiplier, MAD vs Stdev.
Risk / Sizing
Target Annualized Vol & Realized Vol Lookback.
Direction (Long/Short/Both) and Invert.
Max long/short exposure caps.
Advanced Thresholds
Theme/Composite smoothing lengths.
Entry/Exit bands (hysteresis).
Regime / Execution
Long-only above 200MA, Short-only below 200MA.
Stops/TP (optional)
ATR length and SL/TP multiples.
Theme Weights
Per-theme scalars so you can push/pull emphasis (e.g., overweight Policy during rate cycles).
Macro Proxies
Symbols for each theme (XLI, XLU, HG1!, GC1!, DXY, US10Y, US02Y, VIX, HYG, IEF). Swap to alternatives as needed (e.g., UUP for DXY).
Signals & logic (under the hood)
Business Cycle = ½ ROC(XLI/XLU) + ½ ROC(Copper/Gold), then confirmed by (price > 200SMA ? +1 : −1).
Trade / USD = −ROC(DXY).
Monetary Policy = 0.6·ROC(10Y–2Y) − 0.4·ROC(10Y).
Risk Sentiment = −0.6·ROC(VIX) + 0.4·ROC(HYG/IEF).
Each theme → (optional Winsor) → (robust z or scaled ROC) → tanh → SMA smoothing.
Composite = weighted average → LSMA smoothing → compare to bands → dir ∈ {−1,0,+1}.
Rebalance & flips. Orders fire on your chosen cadence or when the sign of exposure changes.
Position size. exposure = clamp(TargetVol / realizedVol, maxLong/Short) × dir.
Note: The script also exposes Gross Exposure (% equity) and Signed Exposure (× equity) as diagnostics. These can help you audit how vol-targeting and caps translate into sizing over time.
Visuals & alerts
Composite line + columns (color/intensity reflect direction & strength).
Entry/Exit bands with green/red fills for quick polarity reads.
Hidden plots for each Theme if you want to show them.
Optional rebalance labels (direction, gross & signed exposure, σ).
Background heatmap keyed to Composite.
Alerts
Enter/Inc LONG when Composite crosses up (and on rebalance bars).
Enter/Inc SHORT when Composite crosses down (and on rebalance bars).
Exit to FLAT when Composite returns toward neutral (and on rebalance bars).
Practical tips
Start higher timeframes. Daily signals with Monthly rebalance are a good baseline; weekly signals with quarterly rebalances are even cleaner.
Tune Entry/Exit bands before anything else. Wider bands = fewer trades and less noise.
Weights reflect regime. If policy dominates markets, raise Monetary Policy weight; if credit stress drives moves, raise Risk Sentiment.
Proxies are swappable. Use UUP for USD, or futures-continuous symbols that match your data plan.
Futures vs ETFs. Quantity auto-rounds for futures; ETFs accept fractional shares. Check contract multipliers when interpreting exposure.
Caveats
Macro proxies can repaint at the selected signal timeframe as higher-TF bars form; that’s intentional for macro sampling, but test live.
Vol targeting assumes reasonably stationary realized vol over the lookback; if markets regime-shift, revisit volLook and targetVol.
If you disable normalization/winsorization, themes can become spikier; expect more hysteresis band crossings.
What to change first (quick start)
Set Signal Timeframe = D, Rebalance = Monthly, Z-score on, Winsor on (MAD).
Entry/Exit bands: 0.25 / 0.12 (defaults), then nudge until trade count and turnover feel right.
TargetVol: try 10% for diversified indices; lower for single stocks, higher for vol-sell strategies.
Leave weights = 1.0 until you’ve inspected the four theme lines; then tilt deliberately.
THOR SignalTHOR Signal Indicator
Trend Regime Detection via Volatility-Normalized Acceleration Scoring
The THOR Signal Indicator classifies market direction into “long-favorable” or “short/risk-off” regimes using a three-layer signal process that adapts to volatility, momentum strength, and directional consistency. This script is specifically designed for swing traders looking to reduce false positives during choppy or trendless periods.
⸻
How It Works
THOR does not use standard technical indicators like RSI, MACD, or moving average crossovers. Instead, it creates a composite signal using three custom-calculated conditions:
1. Volatility-Normalized Price Deviation:
• Measures how far price has moved relative to recent volatility.
• Helps distinguish between meaningful trend movement and noise.
2. Directional Acceleration Score:
• Calculates the second derivative (rate of change of momentum) of a smoothed trend backbone.
• Signals regime shifts only when acceleration exceeds a dynamic threshold.
3. Persistence Filter:
• Applies a custom smoothing layer (similar to a Kalman filter) to confirm that directional strength is sustainable and not short-term whipsaw.
• Filters out one-bar momentum spikes.
A signal is plotted only when all three layers agree:
• Green dot = Long-side favorable regime
• Red dot = Short-side or risk-off regime
⸻
Why This Is Different
Unlike standard momentum tools that rely on fixed thresholds (like RSI overbought/oversold levels), THOR dynamically adapts its regime criteria based on the asset’s own behavior. It avoids laggy confirmation signals by using real-time volatility conditioning and trend persistence scoring.
It is not a mashup of public indicators. No MA crossovers, Bollinger Bands, or known oscillator logic is used. The architecture is original and built entirely from low-level functions and mathematical modeling.
⸻
How to Use It
• Best timeframes: Weekly, Daily, or Renko
• Use bar-close confirmation only (do not trade intrabar signals)
• Green dot: Consider long position or hold existing longs
• Red dot: Consider exiting longs or entering defensive stance
• Use with existing risk management and discretionary context
⸻
Use Case
• Swing trade filter
• Trend regime switch detector
• Allocation toggling (risk-on vs risk-off)
⸻
Disclosures
This is a closed-source script. Logic has been explained conceptually to comply with TradingView script publishing policies. No proprietary code is exposed. The tool is not intended as financial advice and does not guarantee accuracy or profitability.
DOT BOMB: Outlier Mark + Candle ColoringThis indicator helps us to get in where the probability of good trade is the highest which in my terms its called as the casino way of trading.
Works with every asset class/ every chart.
Useful for any trader to progress/recover their account which is mathematically made and proven.
DOT BOMB: Outlier Mark + Candle Coloringthis indicator helps us to get in where the probability of good trade trade is the highest which in my terms its called as the casino way of trading
works with asset class useful for any trader to progress/recover their account which is mathematically made and proven
Laguerre Filter Trend Navigator [QuantAlgo]🟢 Overview
The Laguerre Filter Trend Navigator employs advanced polynomial filtering mathematics to smooth price data while minimizing lag, creating a responsive yet stable trend-following system. Unlike simple moving averages that apply equal weight to historical data, the Laguerre filter uses recursive calculations with exponentially weighted polynomials to extract meaningful directional signals from noisy market conditions. Combined with dynamic volatility-adjusted boundaries, this creates an adaptive framework for identifying high-probability trend reversals and continuations across all tradable instruments and timeframes.
🟢 How It Works
The indicator leverages Laguerre polynomial filtering, a mathematical technique originally developed for digital signal processing applications. The core mechanism processes price data through four cascaded filter stages (L0, L1, L2, L3), each applying the gamma coefficient to recursively smooth incoming information while preserving phase relationships. This multi-stage architecture eliminates random fluctuations more effectively than traditional moving averages while responding quickly to genuine directional shifts.
The gamma coefficient serves as the primary smoothing control, determining how aggressively the filter dampens noise versus tracking price movements. Lower gamma values reduce smoothing and increase filter responsiveness, while higher values prioritize stability over reaction speed. Each filter stage compounds this effect, creating progressively smoother output that converges toward true underlying trend direction.
Surrounding the filtered price line, the algorithm constructs adaptive boundaries using dynamic volatility regime measurements. These calculations quantify current market turbulence independently of direction, expanding during active trading periods and contracting during quiet phases. By multiplying this volatility assessment by a user-defined scaling factor, the system creates self-adjusting bands that automatically conform to changing market conditions without manual intervention.
The trend-following engine monitors price position relative to these volatility-adjusted boundaries. When the upper band falls below the current trend line, the system shifts downward to track bearish momentum. Conversely, when the lower band rises above the trend line, it elevates to follow bullish movement. These crossover events trigger color transitions between bullish (green) and bearish (red) states, providing clear visual confirmation of directional changes validated by volatility-normalized thresholds.
🟢 How to Use
Green/Bullish Trend Line: Laguerre filter positioned in upward trajectory, indicating momentum-confirmed conditions favorable for establishing or maintaining long positions (buy)
Red/Bearish Trend Line: Laguerre filter trending downward, signaling regime-validated environment suitable for initiating or holding short positions (sell)
Rising Green Line: Accelerating bullish filter with expanding separation from price lows, demonstrating strengthening upward momentum and increasing confidence in trend persistence with optimal long entry timing
Declining Red Line: Steepening bearish filter creating growing distance from price highs, revealing intensifying downside pressure and enhanced probability of continued decline with favorable short positioning opportunities
Flattening Trends: Horizontal or oscillating filter movement regardless of color suggests directional uncertainty where price action contradicts filter positioning, potentially indicating consolidation phases or impending volatility expansion requiring cautious trade management
🟢 Pro Tips for Trading and Investing
→ Preset Selection Framework: Match presets to your trading style - Scalping preset employs aggressive gamma (0.4) with tight volatility bands (1.0x) for rapid signal generation on sub-15-minute charts, Day Trading preset balances responsiveness and stability for hourly timeframes, while Swing Trading preset maximizes smoothing (0.8 gamma) with wide bands (2.5x) to filter intraday noise on daily and weekly charts.
→ Gamma Coefficient Calibration: Adjust gamma based on market personality - reduce values (0.3-0.5) for highly liquid, fast-moving assets like major currency pairs and tech stocks where quick filter adaptation prevents lag-induced losses, increase values (0.7-0.9) for slower instruments or trending markets where excessive sensitivity generates false reversals and whipsaw trades.
→ Volatility Period Optimization: Tailor the volatility measurement window to information cycles. Deploy shorter lookback periods (7-10) for instruments with rapid regime changes like individual equities during earnings seasons, standard periods (14-20) for balanced assessment across general market conditions, and extended periods (21-30) for commodities and indices exhibiting persistent volatility characteristics.
→ Band Width Multiplier Adaptation: Scale boundary distance to current market phase. Contract multipliers (1.0-1.5) during range-bound consolidations to capture early breakout signals as soon as genuine momentum emerges, expand multipliers (2.0-3.0) during trending markets or high-volatility events to avoid premature exits caused by normal retracement activity rather than authentic reversals.
→ Multi-Timeframe Filter Alignment: Implement the indicator across multiple timeframes, using higher intervals (4H/Daily) to identify primary trend direction via filter slope and lower intervals (15min/1H) for precision entry timing when filter colors align, ensuring trades flow with dominant momentum while optimizing execution at favorable price levels.
→ Alert-Driven Systematic Execution: Configure trend change alerts to capture every filter-validated directional shift from bullish to bearish conditions or vice versa, enabling consistent signal response without continuous chart monitoring and eliminating emotional decision-making during critical transition moments.
Bayesian Trend Navigator [QuantAlgo]🟢 Overview
The Bayesian Trend Navigator uses Bayesian statistics to continuously update trend probabilities by combining long-term expectations (prior beliefs) and short-term observations (likelihood evidence), rather than relying solely on recent price data like many conventional indicators. This mathematical framework produces robust directional signals that naturally balance responsiveness with stability, making it suitable for traders and investors seeking statistically-grounded trend identification across diverse market environments and asset types.
🟢 How It Works
The indicator operates on Bayesian inference principles, a statistical method for updating beliefs when new evidence emerges. The system begins by establishing a prior belief - a long-term trend expectation calculated from historical price behavior. This represents the "baseline hypothesis" about market direction before considering recent developments.
Simultaneously, the algorithm collects recent market evidence through short-term trend analysis, representing the likelihood component. This captures what current price action suggests about directional momentum independent of historical context.
The core Bayesian engine then combines these elements using conjugate normal distributions and precision weighting. It calculates prior precision (inverse variance) and likelihood precision, combining them to determine a posterior precision. The resulting posterior mean represents the mathematically optimal trend estimate given both historical patterns and current reality. This posterior calculation includes intervals derived from the posterior variance, providing probabilistic confidence bounds around the trend estimate.
Finally, volatility-based standard deviation bands create adaptive boundaries around the Bayesian estimate. The trend line adjusts within these constraints, generating color transitions between bullish (green) and bearish (red) states when the posterior calculation crosses these probabilistic thresholds.
🟢 How to Use
Green/Bullish Trend Line: Posterior probability favoring upward momentum, indicating statistically favorable conditions for long positions (buy)
Red/Bearish Trend Line: Posterior probability favoring downward momentum, signaling mathematically supported timing for short positions (sell)
Rising Green Line: Strengthening bullish posterior as new evidence reinforces upward beliefs, showing increasing probabilistic confidence in trend continuation with favorable long entry conditions
Declining Red Line: Intensifying bearish posterior with accumulating downside evidence, indicating growing statistical certainty in downtrend persistence and optimal short positioning opportunities
Flattening Trends: Diminishing posterior confidence regardless of color suggests equilibrium between prior beliefs and contradictory evidence, potentially signaling consolidation or insufficient statistical clarity for high-conviction trades
🟢 Pro Tips for Trading and Investing
→ Preset Configuration Strategy: Deploy presets based on your trading horizon - Scalping preset maximizes evidence weight (0.8) for rapid Bayesian updates on 1-15 minute charts, Default preset balances prior and likelihood for general applications, while Swing Trading preset equalizes weights (0.5/0.5) for stable inference on hourly and daily timeframes.
→ Prior Weight Adjustment: Calibrate prior weight according to market regime - increase values (0.5-0.7) in stable trending markets where historical patterns remain predictive, decrease values (0.2-0.3) during regime changes or news-driven volatility when recent evidence should dominate the posterior calculation.
→ Evidence Period Tuning: Modify the evidence period based on information flow velocity. Use shorter periods (5-8 bars) for assets with continuous price discovery like cryptocurrencies, medium periods (10-15) for liquid stocks, and longer periods (15-20) for slower-moving markets to ensure adequate likelihood sample size.
→ Likelihood Weight Optimization: Adjust likelihood weight inversely to market noise levels. Higher values (0.7-0.8) work well in clean trending conditions where recent data is reliable, while lower values (0.4-0.6) help during choppy periods by maintaining stronger reliance on established prior beliefs.
→ Multi-Timeframe Bayesian Confluence: Apply the indicator across multiple timeframes, using higher timeframes (Daily/Weekly) to establish prior belief direction and lower timeframes (Hourly/15-minute) for likelihood-driven entry timing, ensuring posterior probabilities align across temporal scales for maximum statistical confidence.
→ Standard Deviation Multiplier Management: Adapt the multiplier to match current uncertainty levels. Use tighter multipliers (1.0-1.5) during low-volatility consolidations to capture early trend emergence, and wider multipliers (2.0-2.5) during high-volatility events to avoid premature signals caused by statistical noise rather than genuine posterior shifts.
→ Variance-Based Position Sizing: Monitor the implicit posterior variance through trend line stability - smooth consistent movements indicate low uncertainty warranting larger positions, while erratic fluctuations suggest high statistical uncertainty calling for reduced exposure until clearer probabilistic convergence emerges.
→ Alert-Based Probabilistic Execution: Utilize trend change alerts to capture every statistically significant posterior shift from bullish to bearish states or vice versa without constantly monitoring the charts.