# OpenKuber: banknifty-trading-lora

> banknifty-trading · lora. 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? Fine-tuned from convaiinnovations/laya.

- Page: https://systemonemodels.tech/openkuber/banknifty-trading-lora
- API: https://api.systemonemodels.tech/v1/models/openkuber/banknifty-trading-lora
- Download: `pip install systemonemodels && systemone pull openkuber/banknifty-trading-lora`

## Facts

| | |
|---|---|
| Maker | OpenKuber (https://systemonemodels.tech/openkuber) |
| Decides | choice, noul, score |
| Architecture | laya |
| Base model | convai-innovations/laya |
| Licence | apache-2.0 |
| Availability | Open weights |
| Latest version | 0.1.0 |

## Reported evaluation

Suite: banknifty-trading. Numbers are the publisher's own.

- Decision accuracy: 48.6%
- Calibration error (ECE): 0.154
- Median latency: 133 ms
- p95 latency: 135 ms

## Model card

# banknifty-trading · lora

A [Laya](https://github.com/NandhaKishorM/laya) typed-decision model, fine-tuned with
[System One Studio](https://github.com/biplovgautam/LayaStudio) 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

```bash
pip install systemonemodels
systemone pull banknifty-trading-lora-0930-164021
```

```python
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.

```json
{
  "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": ""
    }
  }
}
```

The same folder also loads in the upstream PyTorch `laya` package on Linux and NVIDIA, and
System One Studio can export it to ONNX.

## Provenance

```json
{
  "base_model": "convaiinnovations/laya",
  "hyperparameters": {
    "method": "lora",
    "objective": "proper",
    "epochs": 4,
    "batch_size": 32,
    "grad_accum": 2,
    "lr": 0.0002,
    "head_lr": 0.0001,
    "lora_rank": 16,
    "lora_alpha": 32,
    "lora_dropout": 0.05,
    "dora": false,
    "rslora": false,
    "loraplus_ratio": 1,
    "lora_layers": 0,
    "full_layers": 4,
    "head_dropout": 0.1,
    "weight_decay": 0.01,
    "warmup": 0.06,
    "max_grad_norm": 1.0,
    "shuffle_options": true,
    "class_weighting": "none",
    "patience": 2,
    "grad_checkpoint": "auto",
    "precision": "bfloat16",
    "seed": 13
  },
  "train_decisions": 66216,
  "best_epoch": 4,
  "temperature": [
    1.0855,
    1.1888,
    1.1693
  ],
  "temperature_by_options": {
    "score:3-5": 1.1888,
    "noul:2": 1.1693,
    "choice:3-5": 1.0855
  },
  "dataset_sha256": "7c79516d729e16571d7db0be34c810aeb1d8b858333db4c1ff0e550b6d520ec2",
  "trained_on": "2026-10-01T01:11:44"
}
```

## License and attribution

Apache-2.0. Laya and its pretrained weights are by
[Convai Innovations](https://github.com/NandhaKishorM/laya); this checkpoint is a
fine-tune of `convaiinnovations/laya` and carries the same licence. Fine-tuned and published with
[System One Studio](https://github.com/biplovgautam/LayaStudio).

---

From System One Models — https://systemonemodels.tech/ · every System One model: https://systemonemodels.tech/system-one-models
