Amsi-fin-o1.5 is a fine-tuned Qwen3.5-VL-9B model specialized for financial analysis. It combines:
Requires macOS 14+ and Apple Silicon (M1 or later).
1python -m mlx_vlm.generate \
2 --model AITRADER/Amsi-fin-o1.5-mxfp4-MLX \
3 --image chart.png \
4 --prompt "Analyze this chart. What trading signals do you see?" \
5 --max-tokens 512
1from mlx_vlm import load, generate
2from mlx_vlm.prompt_utils import apply_chat_template
3from mlx_vlm.utils import load_image
4
5model, processor = load("AITRADER/Amsi-fin-o1.5-mxfp4-MLX")
6image = load_image("chart.png")
7
8messages = [
9 {
10 "role": "user",
11 "content": [
12 {"type": "image"},
13 {"type": "text", "text": "What pattern is forming on this chart?"}
14 ]
15 }
16]
17
18prompt = apply_chat_template(processor, messages)
19output = generate(model, processor, prompt, [image], max_tokens=512)
20print(output)
1messages = [
2 {
3 "role": "user",
4 "content": "A stock is trading at $150. A call option with strike $155 "
5 "expires in 30 days. IV is 25%. Calculate the approximate "
6 "option price using Black-Scholes and explain your reasoning."
7 }
8]
9
10prompt = apply_chat_template(processor, messages)
11output = generate(model, processor, prompt, max_tokens=2048)
12# Output will contain <think>...</think> reasoning followed by the answer
1tools = [
2 {
3 "type": "function",
4 "function": {
5 "name": "get_stock_price",
6 "description": "Get current stock price",
7 "parameters": {
8 "type": "object",
9 "properties": {
10 "symbol": {"type": "string", "description": "Ticker symbol"}
11 },
12 "required": ["symbol"]
13 }
14 }
15 }
16]
17
18messages = [
19 {"role": "user", "content": "What's the current price of AAPL?"}
20]
21
22prompt = apply_chat_template(processor, messages, tools=tools)
23output = generate(model, processor, prompt, max_tokens=256)
24# Model will generate: <tool_call><function=get_stock_price>{"symbol": "AAPL"}</function></tool_call>
1from mlx_vlm import load, stream_generate
2from mlx_vlm.prompt_utils import apply_chat_template
3
4model, processor = load("AITRADER/Amsi-fin-o1.5-mxfp4-MLX")
5
6messages = [{"role": "user", "content": "Explain covered call strategy."}]
7prompt = apply_chat_template(processor, messages)
8
9for token in stream_generate(model, processor, prompt, max_tokens=512):
10 print(token, end="", flush=True)
1python -m mlx_vlm.convert \
2 --hf-path AITRADER/Amsi-fin-o1.5 \
3 --mlx-path ./Amsi-fin-o1.5-mxfp4-MLX \
4 --quantize --q-bits 4
Vision tower weights merged from the Qwen3.5-VL-9B base model to ensure full vision capability.
1@misc{amsi-fin-o1.5,
2 title={Amsi-fin-o1.5: Finance Vision Language Model},
3 author={AITRADER},
4 year={2025},
5 url={https://huggingface.co/AITRADER/Amsi-fin-o1.5}
6}