banknifty-trading · lora
A Laya typed-decision model, fine-tuned with System One Studio on an Apple silicon Mac. It answers the questions below in a single forward pass, with calibrated probabilities and zero generated tokens.
Base model: convaiinnovations/laya · method: lora, proper objective · trained in
501 minutes on an Apple silicon Mac.
Measured on the held-out test split
| Metric | Base model | This model |
|---|---|---|
| Accuracy | 33.7% | 48.6% [47.1%–50.2%] |
| Calibration error (ECE) | 0.225 | 0.154 |
| Log loss | 1.247 | 1.620 |
| Brier score | 0.772 | 0.666 |
| Decisions scored | 4116 | 4116 |
Fine-tuning fixed 1414 test decisions the base model got wrong and broke 798 it got right (exact McNemar p < 0.001).
Test rows were never trained on. Accuracy intervals are Wilson intervals; the paired test is an exact McNemar test between the base and the fine-tuned model on the same rows.
Use it
pip install systemonemodels
systemone pull banknifty-trading-lora-0930-164021
import json
import laya_mlx as laya # pip install laya-mlx, on Apple silicon
from systemone import snapshot_download
path = snapshot_download("banknifty-trading-lora-0930-164021")
agent = laya.load(str(path))
questions = json.loads((path / "questions.json").read_text())
print(agent.predict("your text here", questions)["answers"])
Ask it these questions: the instructions and option texts are part of the model's input, so changing them changes the task it was tuned for.
{
"alpha_5d": {
"type": "score",
"instructions": "Over the next 5 trading days, how will this stock do against the NSE bank index, scaled by its own volatility, ranked within these 14 banks?",
"criteria": [
"0 bottom fifth",
"1 below middle",
"2 middle",
"3 above middle",
"4 top fifth"
]
},
"outperform_5d": {
"type": "noul",
"instructions": "Will this stock beat the NSE bank index over the next 5 trading days?"
},
"vol_expansion_5d": {
"type": "noul",
"instructions": "Will daily volatility over the next 5 trading days exceed 1.25x the trailing 20-day level?"
},
"drawdown_tail_5d": {
"type": "noul",
"instructions": "Will the close fall more than 1.5 scaled sigmas below today's close on any of the next 5 trading days?"
},
"action": {
"type": "choice",
"instructions": "Given the next 5 trading days, what position fits this stock versus the other banks?",
"criteria": {
"LONG": "",
"SHORT": "",
"NO_TRADE": ""
}
},
"regime_5d": {
"type": "choice",
"instructions": "Which regime will the NSE bank index be in over the next 5 trading days?",
"criteria": {
"TREND_UP": "",
"TREND_DOWN": "",
"RANGE": "",
"HIGH_VOL": ""
}
}
}