Download VFAi-X Qovaryx 2.5.3 Hotfix

Windows installer: Download VFAi-X Latest Qovaryx Setup

Pinned installer: VFAi-X 3.5v31 / App 2.5.3 Qovaryx Public Setup

Auto-update channel: updates/latest.json now points to 3.5v31-2.5.3-qovaryx-public. Existing public installs should pull the Qovaryx 2.5.3 hotfix on startup.

This hotfix fixes Qovaryx sidecar AI status, removes the legacy vLLM/Docker/WSL waiting path when Qovaryx is healthy, repairs the bundled CPU Torch runtime, restores Electron V8 startup snapshots, preserves user-entered Tradier/API keys, prevents balance/positions blinking during transient Tradier refresh failures, repairs stale Qovaryx runtime downloads, and keeps the public build keyless.

Model/runtime source: Qovaryx/qovaryx-options-decoder-full-community.

Installer Mirror

Latest Windows installer: Download VFAi-X Latest Setup

Current pinned installer: VFAi-X 3.5v31 / App 2.5.3 Qovaryx Public Setup

Auto-update pointer: updates/latest.json

This is the same 2.5.3 public hotfix listed above. It ships no API keys or broker credentials. Existing installs pull this update from the Hugging Face public update channel.

🚀 New flagship: Qovaryx Options Decoder — Full Community Runtime. The latest, most capable Qovaryx release is live as a single drop-in package: six functional HGB specialists + eight vaulted torch heads in one runtime. 15-of-15 internal benchmark cells closed at strict bootstrap CI lower bound. Drop-in replacement for FrankenB / V3.7 / Qwen-VPA. Sub-millisecond inference. Offline. No license email required. 👉 Qovaryx/qovaryx-options-decoder-full-community

💬 Join the community. Discord: https://discord.gg/PtuHZDv5ju — builders training their own trading/finance models. Engineering, no signals. Get install help, share work, follow the Qovaryx research devlog. Try the deployed Q-Chat router live via /qchat ask. Ko-fi: https://ko-fi.com/tjarvis91 — every coffee literally buys GPU time for the next training cycle.


Heads up about the rest of this card

The current shipping desktop app (VFAi-X Qovaryx 2.5.3, version 3.5v31-2.5.3-qovaryx-public, links above) no longer uses the Franken-B 9B vision-language model as its inference engine. It uses the Qovaryx Options Decoder community runtime (Qovaryx/qovaryx-options-decoder-full-community) which runs on CPU, has no GPU requirement, and serves sub-millisecond inference. See the New flagship banner above and the Qovaryx card for what currently powers your installs.

Everything below this point is the historical Franken-B model lineage that this repo originally documented. It is preserved because the Franken-B research (composition-lock, last-3 LoRA, vision-fusion +106%) is part of the public record of how the VFAi-X line evolved, and the weights are still hosted here for researchers who want to study or reproduce the 9B vision-language path. It is not what the current desktop app loads at runtime.


VFAi-X Franken-B -- Vision-Language Options Trading Model (Qwen3.5-9B-VL) (historical lineage)

The first VFAi-X model to statistically beat the V5.0 baseline on a per-trade bootstrap (penny, p=0.023). Best chart-fusion result in the entire VFAi-X lineage (+106.76% vision-only on the 200-row real fusion harness). Same overlay won on all three streams over 10,000+ acted trades.

Franken-B is a Qwen3.5-9B vision-language model for US equity options trading, built by stacking three LoRA adapters on Qwen3.5-9B-VL -- V3.7s base → V5.0 LM LoRA → V5.8 last-3 LM LoRA. It reads composite chart images (1D / 1H / 5M) plus structured market context and emits BUY / SELL / HOLD / NO_TRADE with conviction and a risk plan. Optimized for Volume-Price Analysis (VPA), pattern recognition, and chart-text fusion.

Production branch: main (this page) · Recipe: V3.7s → V5.0 → V5.8 last-3 · Base: Qwen/Qwen3.5-9B-VL · Runtime: FP8 on vLLM · Predecessor: tjarvis91/vfai-x-3.5-9b-options (V3.7)

If this work helps you, support continued development: ko-fi.com/tjarvis91


App Showcase

See what you get before you install. Six tabs, real Tradier-connected paper account, model serving Franken-B locally on consumer GPU. (AI engine was disabled for these screenshots so we didn't compete with an active training run -- the engine connects automatically on first launch.)

Dashboard
Dashboard -- account balance, buying power, confidence panels, macro calendar, system status with 5070 Ti GPU readout.
Charts
Charts -- AAPL with model-emitted Breakout / SH / SL annotations. Penny Universe sidebar with 479 symbols. Multi-timeframe selector.
Orders
Orders -- AI Trading Activity board: open / filled / cancelled / partial fills, ticker filter, time-range tabs.
Options
Options -- full options chain (calls + puts, IV / delta / OI / vol / bid / ask). Portfolio Greeks panel. Risk Analysis.
Fundamentals
Fundamentals -- per-ticker valuation, margins, key highlights, macro calendar, earnings calendar. AAPL shown.
Change Log
Change Log -- release notes, runtime checks, local diagnostics. Restart backend, health check, API docs.

Historical download block — superseded

The legacy 3.5v26-3.10-FrankenB-Risk-Guard-Hotfix download links that used to live here have been removed because they shipped the previous Franken-B runtime, not the current Qovaryx runtime. The current installer + auto-update pointer are in the Download VFAi-X Qovaryx 2.5 section at the top of this card (or jump to the installer block). Older auto-update pointers automatically fetch the Qovaryx 2.5 critical hotfix on next launch — no user action required.

What Ships

  • Local-first Windows desktop app with vLLM acceleration.

  • Franken-B flagship model path and served-model lock.

  • Hybrid stocks/options operation with constrained penny mode enabled by default.

  • Tradier broker bridge for user-supplied paper/live credentials.

  • Public-safe settings: no bundled broker, Hugging Face, data-provider, or private keys.

  • Hugging Face auto-update channel for critical hotfixes.

Franken-B Runtime Lock

  • Position sizing: 20% max position size, 8 max positions.

  • Options overlay: 15x leverage assumption, -5% hard stop, 0.5% theta drag.

  • Signal gates: 70 conviction floor, 1.0 relative-volume floor, 0.70 profit-score floor.

  • Fusion path: vision, fusion, gems, chart analysis, and position-manager vision remain enabled.

  • Thinking mode remains off for this public runtime profile.

Install Notes

The installer is about 1.1 GB and does not bundle the model weights. On first launch it downloads the current Franken-B model files from Hugging Face, verifies the 6 safetensor shards and processor/tokenizer files, then starts vLLM.

If the model repo is ever private or gated, add a Hugging Face read token in Settings or set HF_TOKEN before first launch. Public builds ship no secrets by design.

Support

Independent training runs cost real GPU time. Support is optional and never gates the app: ko-fi.com/tjarvis91


TL;DR -- Why Franken-B Replaces V3.7

Same overlay sweep (min_conv=70, lev=15, hard_stop=-5%, theta_drag=0.5, position_size=20%, max_pos=8) applied identically to both models, same streams, same dates:

Metric V3.7 (prior flagship) Franken-B (this model) Delta
2yr return +1,432% +8,245% +6,813 pp
2yr profit factor 2.99 4.51 +50.8%
Penny return +12,128% +35,155% +23,027 pp
Penny profit factor 26.77 31.77 +18.7%
180d return +1,593% +4,711% +3,118 pp
180d profit factor 4.75 4.95 +4.2%
Vision-only fusion +43.99% +106.76% +62.77 pp
Fused (text+chart) +68.06% +103.32% +35.26 pp
2yr BUY/SELL balance 264 / 1732 (87% SELL-skew) 1,539 / 1,491 (balanced) bias fixed
2yr direction accuracy 39.4% 40.5% +1.1 pp
Bootstrap CI vs V5.0 (penny) TIE (p=0.39) PASS p=0.023 first PASS in family

Aggregate acted trades: n=10,396 (n=5,030 + 2,822 + 2,544 per stream). Same overlay won every stream -- no overfitting to one regime.

These are simulated overlay backtests against locked answer keys we have audited and found to be selection-biased (286,000 directional rows, zero losers by construction). They are upper bounds -- treat them as relative to other models tested under the same conditions, not as forward returns. Walk-forward validation is queued.


Apples-to-Apples (matched emit pairs -- most defensible)

When restricted to the same (symbol, signal_date) pairs both models chose to trade, with identical overlay:

Stream V3.7s Franken-B Delta
2yr n=749, +889%, PF=3.55 n=749, +933%, PF=3.75 +44 pp, +0.20 PF
penny n=1,253, +8,734%, PF=9.73 n=1,246, +9,422%, PF=10.56 +688 pp, +0.83 PF
180d n=966, +593%, PF=1.74 n=950, +604%, PF=1.77 +11 pp, +0.03 PF

Franken-B picks better on every stream when restricted to the same trade opportunities. This is the most defensible comparison -- the universe is held fixed, so selection bias cancels out.


The Recipe -- and Why Order Is Not Commutative


Qwen3.5-9B-VL (base)

  → V3.7s merged base   (text + fusion sidecar, full LM layers)

  → V5.0 LM LoRA        (abstention + direction repair, all LM layers q/k/v/o + MLP)

  → V5.8 last-3 LM LoRA (layers 29/30/31 only, r=64, alpha=128)

V5.8 is not a vision adapter. It only touches model.language_model.layers.29/30/31. Its chart-fusion edge comes from last-layer language-side arbitration over chart-derived tokens passed from the visual encoder. That is the discovery that drives the +106.76% vision result.

The order matters -- every alternative we tested regressed:

Recipe attempted Outcome
V3.7s → V5.8 (skip V5.0) take rate 87.5%, prose drift, rejected
V3.7s → V6 → V5.8 7/8 valid, schema miss, rejected
V3.7s → V5.8 → V6 same schema miss reversed
V3.7s → V5.0 → V5.8 → V6 8/8 strict, but repetition/malformed output
V5.5 → V5.0 (double-V5.0) take 50%, over-abstains
V3.7s → V5.0 → V5.8 8/8, 75% take, balanced action mix -- winner

V5.0 sandwiched between V3.7s and V5.8 stabilizes format before V5.8 applies its directional pressure. We call this composition-lock -- recipe behavior depends on order in a way that cannot be flattened into a single repair adapter.


Sanity Battery (323-row strict suite + 9 corpus packs)

Metric Franken-B V3.7s Honest read
brutal action_pass 90.9% 100% V3.7s wins 3 brutal cases (open lane: v27_veto stack candidate)
app_integrated 99.0% 99.75% tied for practical purposes
today_holdout direction 48.0% 44.0% Franken-B ties V3.5 baseline
today_holdout BUY/SELL 48/2 âš 25/25 bull-bias is the known open weakness
corpus avg (9 packs) 88.2% 96.2% V3.7s wins broad corpus (sample-size-small per pack)
corpus adversarial 83.3% 90.0% open lane: targeted V58R challenger in progress
fusion vision_only +106.76% +43.99% best in the entire family (n=200 fusion harness)
fusion fused (with app gate) +103.32% +68.06% best in the family

The trade-off is real and disclosed: Franken-B loses 8 pp of corpus average and 6.7 pp of adversarial in exchange for +62.77 pp vision, +35.26 pp fused, a balanced action mix, today_holdout matching V3.5 baseline, and the only bootstrap PASS vs V5.0 in the model family. We chose to ship Franken-B because the trade-off makes sense for the runtime profile; the corrector that would have fixed the corpus regressions cost more than it gained on every other dimension.


Why We Did NOT Merge a Corrector

After the tournament we trained four corrector LoRAs (v3, v4, v5, v58R) on a 109-row law-crystal corpus targeting the boundary failures. Each one improved the strict suite at the cost of vision:

Configuration Strict overall Vision Fused Decision
Franken-B base (shipped) 72.16% +106.76% +103.32% PROMOTED
+ v5 corrector 81.73% -21.90% +30.91% rejected
+ v6 corrector -- -55.92% -5.04% rejected
+ v58R (latest, 2026-05-22) sanity match +2.55% (only positive corrector) -- rejected (adversarial collapsed to 73.3%)

The strict-suite gain was concentrated on a few dozen rows. The vision loss was a structural change across the whole input distribution. Sample size won. Composition-lock again: chart-fusion behavior is held jointly by V3.7s + V5.0 + V5.8 and any additional weight-level repair destabilizes it.

We publish the corrector failures because the composition-lock finding is the most ML-interesting result in the work, and it is only credible if the failed iterations are visible.


How To Load The Model Directly

For research or custom inference outside the desktop app:


from transformers import AutoModelForImageTextToText, AutoProcessor

import torch

model = AutoModelForImageTextToText.from_pretrained(

    "tjarvis91/vfaix-vpa-options-trader",

    torch_dtype=torch.bfloat16,

    device_map="auto",

    trust_remote_code=True,

)

processor = AutoProcessor.from_pretrained(

    "tjarvis91/vfaix-vpa-options-trader",

    trust_remote_code=True,

)

Or with vLLM for FP8 production serving (what the desktop app does):


vllm serve tjarvis91/vfaix-vpa-options-trader \

  --served-model-name vfai-qwen35-9b-frankenB-v2.2 \

  --max-model-len 4096 \

  --gpu-memory-utilization 0.85 \

  --quantization fp8 \

  --trust-remote-code

Expected output schema:


ACTION: BUY

Conviction: 73%

Reason: Confirmed VPA direction plus clean retest, volume expansion, defined risk.

Risk plan: Buy with defined risk at the failed retest level and exit if that level breaks.

The model is designed to choose between BUY / SELL / HOLD / NO_TRADE based on prompt schema, current position state, market conditions, and evidence quality.


Open Lanes

Open item Severity What we're doing
Today_holdout 96% BUY bias medium v58R-balanced fusion corpus (rebalance BUY/SELL anchors before retrain)
Corpus adversarial -16.7pp vs V6 medium v27_veto adapter stack experiment queued
Brutal action_pass -9.1pp vs V3.7s small Same v27_veto lane
Walk-forward on fresh distribution-realistic hold-out high (process) Quarterly split queued; we will publish whichever way it lands
Selection-biased legacy answer keys high (process) Telemetry-gold streams in development

The desktop app's V2.2 production overlay is locked while these complete.


Companion Models On The Sibling Repo

The legacy repo tjarvis91/vfai-x-3.5-9b-options hosts two opt-in branches for research/ensembling:

  • V3.7 (prior flagship): --revision v3.7

  • V6 Sniper (companion, abstains on 98% of opportunities, highest PF in the family -- confirmation filter, not a primary emitter): --revision vfai-x-sniper-options

Franken-B is the installer default. The other two are for operators who want to roll back, ensemble, or research.


Evidence & Audit Trail

Public audits and report artifacts (paths on the developer machine -- request access for the full bundle):

  • FRANKEN_B_FLAGSHIP_REPORT_20260520.md -- original flagship promotion report

  • FINAL_DECISION_FRANKEN_B_FLAGSHIP_20260522.md -- corrector lane verdicts

  • FRANKEN_B_PRODUCTION_DEPLOYMENT_20260522.md -- production overlay lock + V2.2 settings

  • frankenB_apples_to_v37s.json -- matched-pair comparison data

  • frankenB_vs_v50_bootstrap.json -- bootstrap CI raw data

  • frankenB_mega_variable_sweep.json -- overlay sweep across 1,200 configs

  • frankenB_full_20260520_LIVE_SUITE_REPORT.json -- sanity battery raw

  • V5_FRANKENB_2YR_PROFITABILITY.md, V5_FRANKENB_PENNY_PROFITABILITY_50USD.md -- locked production profitability

  • FRANKENB_ALL_REPORTS_SHIP_AUDIT_20260522.md -- pre-ship audit summary

  • CODEX_V58_REGRESSION_AUDIT_20260522.md -- V5.8 lineage audit + composition-lock finding

Devlog series (HF Discussions; also mirrored on the Qovaryx research repo on GitHub):


License & Use

Apache 2.0. This is a research artifact. Not financial advice. Simulated returns are not guaranteed forward returns. Options trading can result in total premium loss. Use paper trading first. Past evaluation performance does not guarantee future performance.


VFAi-X -- Independent behavioral-model systems lab. Local-first. Open-source. No billion-dollar infrastructure.

Downloads last month
906
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for tjarvis91/vfaix-vpa-options-trader

Merge model
this model