---
library_name: transformers
tags:
- sft
- unsloth
- finance
license: apache-2.0
datasets:
- atahanuz/stock_prediction
language:
- en
base_model:
- unsloth/Qwen3-0.6B
pipeline_tag: text-generation
---

# Model Card for StockDirection-6K

## Model Details

StockDirection is a fine-tuned language model for binary stock movement prediction.
The model is trained to predict whether the next day’s stock price of Akbank (AKBNK), traded on Borsa Istanbul (BIST), will move UP or DOWN, based on the daily percentage changes from the last four days and the current day.

- Input: A formatted prompt describing the last 5 days of daily percentage price changes.
- Output: A simple categorical prediction — "UP" or "DOWN".

This model was fine-tuned on a dataset of 6,300 labeled rows of AKBNK stock data.

## Uses

### Direct Use

- Educational purposes: Demonstrating how LLMs can be fine-tuned for financial classification tasks.
- Research: Exploring text-based sequence learning for stock direction prediction.
- Proof of concept: Serving as an example for stock price direction prediction using natural language prompts.

⚠️ Not for financial advice or live trading decisions.


## How to Get Started with the Model

Use the code below to get started with the model.

```python
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("khazarai/StockDirection-6K")
model = AutoModelForCausalLM.from_pretrained(
    "khazarai/StockDirection-6K",
    device_map={"": 0}
)


question ="""
You are an assistant that predicts whatever a stock will go up or down in the next day based on the daily percentage price changes of the last:
4 days ago: 0.00
3 days ago: -3.09
2 days ago: 2.13
1 day ago: -2.04
today: 0.01
Predict whatever the next day's price will go up or down. Simply write your prediction as UP or DOWN
"""

messages = [
    {"role" : "user", "content" : question}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize = False,
    add_generation_prompt = True, 
    enable_thinking = False, 
)

from transformers import TextStreamer
_ = model.generate(
    **tokenizer(text, return_tensors = "pt").to("cuda"),
    max_new_tokens = 200,
    temperature = 0.7, 
    top_p = 0.8, 
    top_k = 20,
    streamer = TextStreamer(tokenizer, skip_prompt = True),
)
```

## Training Data

- Dataset: [atahanuz/stock_prediction](https://huggingface.co/datasets/atahanuz/stock_prediction)
- Size: 6,355 labeled examples.
- Structure: Each sample contains past 5 daily percentage changes and the target label (UP/DOWN).

Example:

```vbnet
Question: You are an assistant that predicts whether a stock will go up or down in the next day 
based on the daily percentage price changes of the last:
4 days ago: nan
3 days ago: 0.00
2 days ago: 2.22
1 day ago: -2.17
today: -2.22
Predict whether the next day's price will go up or down. 
Simply write your prediction as UP or DOWN.

Answer: DOWN
```