oxidize-trader-7m
From-scratch GPT trained with oxidize-training (C + OpenBLAS). 7,432,704 parameters, F32.
This model was mainly for research and is NOT supposed to be used at all for anything. Can only be used in Oxidize-c (github.com/Zapdev-labs/Oxidize.git)
Weights are in model.safetensors as GPT-2 tensors (Conv1D layout, tied wte). Native trader.bin (OXTR) and vocab.bin are included for the C trainer.
It is a language model of ticket text, not a working stock picker.
Files
| File | What |
|---|---|
model.safetensors | GPT-2 F32 weights (29 MB) |
config.json | GPT2LMHeadModel, 8L / 8H / 256d / 4096 vocab |
tokenizer.json / vocab.json / merges.txt | byte-level BPE (ids match C vocab.bin) |
generation_config.json | greedy, BOS 256, EOS 257 |
trader.bin | original OXTR checkpoint |
vocab.bin | original C BPE merges |
Load
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "freakyskittle/oxidize-trader-7m"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo)
ids = tok("AAPL 2026-09-10 close 228 RSI 32 NEWS: fed holds. ACTION=", return_tensors="pt")
out = model.generate(**ids, max_new_tokens=16)
print(tok.decode(out[0], skip_special_tokens=True))
Or the C trainer:
./oxidize-training/bin/oxidize-training sample \
--ckpt trader.bin --vocab vocab.bin \
--prompt "AAPL 2026-09-10 close 228 RSI 32 NEWS: fed holds. ACTION="
Size
8 layers, 8 heads, width 256, context 256, vocab 4096. GELU-tanh (gelu_new). Tied embeddings. Train: 2200 steps, loss 8.32 → 3.89.
What it actually is
Tickets look like SYM … NEWS: … ACTION=BUY|SELL|HOLD. Labels are next-day close vs ±0.6%. Last picks run printed BUY on all 20 names. Do not size real money.