Instructions to use alinakhay/FinVector-Market-4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use alinakhay/FinVector-Market-4B with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # if on a CUDA device, also pip install mlx[cuda] # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("alinakhay/FinVector-Market-4B") prompt = "Once upon a time in" text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- MLX LM
How to use alinakhay/FinVector-Market-4B with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Generate some text mlx_lm.generate --model "alinakhay/FinVector-Market-4B" --prompt "Once upon a time"
- Atomic Chat
FinVector-Market-4B
FinVector-Market-4B is an MLX-native LoRA adapter for Qwen/Qwen3.5-4B. It specializes the base model for structured macro interpretation, financial calculation, calculator routing, conditional causal transmission, and multi-asset scenario analysis.
Project links:
This release contains the adapter only. It requires the exact base-model revision
851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a.
Format
This is an MLX-LM adapter, not a Hugging Face PEFT adapter. The release contains the native
MLX-LM pair adapter_config.json and adapters.safetensors. It was validated with MLX 0.32.2 and
MLX-LM 0.31.3 on Apple Silicon.
Adapter details:
- LoRA rank: 16
- Adapted decoder layers: 32
- LoRA module pairs: 128
- Adapter tensors: 256
- Weights SHA-256:
8defb30088c1a4a6220d7e6d6ab3df5305a419509b5c5e6d274fdbe0fe7e02a5
Usage
Install mlx-lm and huggingface_hub, download this adapter, and load it over the pinned base
revision:
from huggingface_hub import snapshot_download
from mlx_lm import generate, load
adapter_dir = snapshot_download("alinakhay/FinVector-Market-4B")
model, tokenizer = load(
"Qwen/Qwen3.5-4B",
revision="851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a",
adapter_path=adapter_dir,
)
messages = [
{
"role": "user",
"content": (
"Return one valid JSON object. Interpret the policy tone in this statement: "
"The committee kept rates unchanged while emphasizing persistent inflation risks."
),
}
]
prompt = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=False,
enable_thinking=False,
)
response = generate(model, tokenizer, prompt=prompt, max_tokens=700)
print(response)
The adapter is prompt-sensitive. For production use, define and validate an explicit JSON schema for the task instead of relying on unconstrained prose prompts.
Evaluation
The model was evaluated without output repair on a frozen private benchmark of 600 examples: 75 examples in each of eight task families. Decoding was greedy with thinking disabled and a 700-token output ceiling. The comparison below uses the same explicit-schema prompt contract for the base and adapted models.
| Metric | Qwen3.5-4B | FinVector-Market-4B |
|---|---|---|
| Strict JSON validity | 91.3% | 99.8% |
| Policy-tone accuracy | 80.0% | 84.0% |
| Policy-tone macro-F1 | 77.4% | 62.3% |
| FinQA answer exact match | 14.7% | 40.0% |
| Tool-selection accuracy | 100.0% | 100.0% |
| Correct calculator expression | 48.0% | 82.7% |
| Scenario-direction accuracy (synthetic structural benchmark) | 20.1% | 89.5% |
| Implication-direction accuracy (synthetic structural benchmark) | 52.4% | 87.2% |
Under the implicit prompt-contract evaluation arm, FinVector-Market-4B achieved 100% strict JSON validity, 47.3% exact JSON match, 86.7% policy-tone accuracy, and 40.0% FinQA exact match. It also achieved 97.7% scenario-direction agreement and 96.4% implication-direction agreement against synthetic structural targets.
The explicit-schema adapter did not improve every metric: policy-tone macro-F1 decreased from 77.4% to 62.3%. The implicit adapter arm reached 85.9% on the same metric. This prompt sensitivity is retained as part of the result rather than selecting only the more favorable prompt.
These are benchmark results, not live trading results. Scenario and implication directions are
scored against synthetic structural targets rather than realized asset returns. The associated
probabilities are synthetic structural weights and are not empirically calibrated forecasts.
See evaluation_results.json for the public metric record and evaluation conditions.
Limitations
- This is a research model and is not financial, investment, legal, or risk-management advice.
- It can produce incorrect calculations, unsupported causal explanations, malformed JSON, and misleading market implications. Validate outputs and execute calculations independently.
- Directional metrics measure agreement with a locked structural benchmark, not future market prediction accuracy.
- The benchmark is private to protect test integrity; its examples, prompts, targets, and raw model outputs are not distributed.
- The model was evaluated on its supported task contracts, in English, with greedy decoding. Other prompts, languages, sampling settings, or runtimes may behave differently.
- This release has not been converted to or validated as a PEFT adapter.
Training data and privacy
The adapter was trained on a private, curated financial-reasoning corpus. The training corpus, augmentation logic, private prompt templates, locked benchmark rows, and raw evaluation outputs are intentionally not part of this release. Publication of this adapter does not grant access to those materials.
License and attribution
The FinVector-Market-4B adapter files are released under the Apache License 2.0 in LICENSE.
Qwen/Qwen3.5-4B is a separate work distributed by its authors under Apache-2.0; use of this adapter
also requires downloading and complying with the base model's terms. The base model is not
redistributed in this repository.
Quantized