KairosBias quantifies currency strength by combining four independent analytical layers into a single composite score. No discretion, no bias - just a repeatable, data-driven framework updated every 4 hours.
KairosBias is for research and educational purposes only. Nothing on this platform constitutes financial advice, investment advice, or a recommendation to buy or sell any financial instrument. Trading forex involves significant risk of capital loss. Past performance is not indicative of future results. Always conduct your own research and consult a qualified financial advisor before making any trading decisions.
Every G8 currency receives a composite score between −100 and +100. A score near +100 means the currency is showing strong bullish signals across all four layers. A score near −100 means the opposite. Scores near zero indicate no clear directional edge.
The composite is a weighted average of four sub-scores - EMA Structure, COT Positioning, Momentum, and Interest Rates. Each sub-score is also expressed on the same −100 to +100 scale so you can see exactly where the strength or weakness is coming from.
These are the default weights. Pro subscribers can adjust them freely - the composite recalculates instantly in the browser using the stored sub-scores, so there's no waiting for a server recalculation.
Price relative to its exponential moving averages is one of the most reliable indicators of trend direction and momentum. KairosBias evaluates each currency across three EMAs - the 20, 50, and 200 period - computed from daily candles sourced via Twelve Data.
The scoring logic reflects classic EMA stack analysis. A bullish stack - price above EMA20, EMA20 above EMA50, EMA50 above EMA200 - produces a score of +100. A bearish stack produces −100. Partial alignment scores proportionally: above the 50 and 200 but not fully stacked scores ±60; above only the 200 scores ±25. Each currency is evaluated across four representative pairs (e.g. USD is scored via EURUSD, GBPUSD, AUDUSD, NZDUSD) and the results are averaged - with base-side scores positive and quote-side scores flipped negative.
EMA structure carries the highest default weight because it directly reflects current price behaviour - it is the most responsive layer to changing market conditions and the hardest to manipulate with positioning or rhetoric.
The Commitments of Traders report is published weekly by the CFTC and shows the net positioning of non-commercial traders - institutions, hedge funds, and large speculators - in futures markets. These participants move significant capital and their positioning tends to reflect informed macro views rather than short-term noise.
KairosBias calculates the net non-commercial position (longs minus shorts) for each currency and normalises it against its 52-week range. A reading near the top of the range scores close to +100, indicating historically elevated long positioning. A reading near the bottom scores close to −100. Mid-range readings score near zero.
COT data updates once per week - every Friday after market close. The Pro dashboard shows 8 weeks of historical positioning so you can assess whether institutional bias is building, unwinding, or stretched to an extreme.
The momentum layer evaluates price direction and rate of change across three timeframes - 4-hour, daily, and monthly. Each timeframe is assessed independently and the results are combined into a single sub-score, with higher timeframes weighted more heavily to reflect the significance of longer-term momentum shifts.
A currency showing bullish momentum across all three timeframes scores near +100. A currency where short-term momentum is bullish but longer-term momentum is bearish will score somewhere in between - reflecting a currency that may be bouncing within a broader downtrend. This multi-timeframe view helps filter out noise and identify currencies where the directional bias is consistent across the board.
On the pair detail page, you can see each timeframe broken out individually - useful for timing entries within the broader macro direction.
Central bank interest rates are a fundamental driver of capital flows in FX markets. Higher rates attract yield-seeking capital, which tends to strengthen a currency. Lower rates do the opposite. KairosBias tracks the current policy rate for each of the eight central banks - the Fed, ECB, Bank of England, Bank of Japan, Bank of Canada, RBA, RBNZ, and SNB.
The sub-score is derived by normalising each currency's rate against the full range of G8 rates at any given time. The currency with the highest rate scores near +100, the lowest scores near −100, and the rest are distributed proportionally between those extremes.
Interest rate data updates daily. While rates themselves change infrequently, the relative ranking across the G8 shifts with every central bank decision - and those shifts can meaningfully change the macro backdrop for a currency.
Interest rates carry the lowest default weight because they change slowly and are already partially priced into market structure and momentum. Their role in the composite is to provide fundamental grounding - a currency that looks technically strong but carries the lowest rate in the G8 gets a modest headwind applied to its overall score.
Once each currency has a composite score, all 28 G8 pairs are scored by divergence - the base currency score minus the quote currency score. A large positive divergence means the base is significantly stronger than the quote, suggesting a potential long opportunity. A large negative divergence suggests the reverse.
Each pair is also assigned a confidence level based on the magnitude of the divergence - High above 80 points, Medium between 30 and 80, and Low below 30. Low confidence pairs are worth monitoring but don't yet show a strong enough edge to act on.
Each currency and pair is assigned a bias label based on its composite or divergence score. These are fixed thresholds applied consistently across the platform.
The Carry Rankings page repackages the interest rate data into a practical tool for identifying carry trade opportunities across all 28 G8 pairs. The carry differential for any pair is simply the base currency's policy rate minus the quote currency's rate.
A positive differential means you earn the rate spread by being long the base currency. A negative differential means you pay it. Pairs are ranked by absolute differential - the highest spreads are at the top regardless of direction.
Confidence levels are assigned by differential size: High (≥ 3%), Medium (≥ 1%), Low (< 1%). These thresholds reflect the practical significance of the carry advantage after accounting for typical swap costs.
Carry is a supportive factor, not a standalone signal. The most reliable setups align carry direction with the composite score direction - a pair where the higher-yielding currency is also technically stronger represents confluent macro and fundamental pressure.
Every trader has a different edge. Some are purely technical and want EMA structure to dominate the score. Others trade with a macro bias and want COT positioning weighted heavily. Pro subscribers can adjust all four layer weights freely - the only rule is that they must sum to 100%.
Weights are applied client-side using the stored sub-scores, so there's no server round-trip when you adjust them. Hit Apply Weights and every currency score and pair ranking updates immediately. Your custom weights are saved to your profile and persist across sessions.
The data freshness bar at the top of the Pro dashboard shows exactly when each source last updated so you always know how current the scores are.