Sengil/turkish-gemma-9b-finance-sft
Model Overview
Sengil/turkish-gemma-9b-finance-sft is a Turkish financial instruction-tuned large language model developed for finance-related natural language understanding and generation tasks in Turkish.
The model is based on ytu-ce-cosmos/Turkish-Gemma-9b-T1 and further fine-tuned using Supervised Fine-Tuning (SFT) on a finance-focused instruction dataset.
Base Model
- Base model:
ytu-ce-cosmos/Turkish-Gemma-9b-T1 - Fine-tuning method: Supervised Fine-Tuning (SFT)
Intended Use
This model is designed for Turkish-language finance-related NLP applications, including:
- Financial question answering
- Finance-oriented instruction following
- General Turkish financial text generation
- Educational and research use in Turkish finance NLP
Training Dataset
The model was fine-tuned on the following dataset:
- Dataset:
AlicanKiraz0/Turkish-Finance-SFT-DatasetDbmaxwell/turkish-finance-instruction-datasetRsGoksel/Finansal
I transformed a plain dataset into an instruction-tuning-ready synthetic dataset using the Gemini API by generating structured instruction-response examples. This process made the data more suitable for training LLMs to better follow user prompts, formats, and task-specific guidance. I will share the dataset soon.
Key Training Hyperparameters
- Max steps: 500
- Approx. epochs: ~3.7
- Learning rate: 1e-4
- Per-device train batch size: 4
- Gradient accumulation steps: 4
- Effective batch size: 16
- Optimizer: AdamW 8-bit
- Weight decay: 0.01
- LR scheduler: Cosine
- Warmup steps: 20
- Max grad norm: 1.0
- Precision: bfloat16
Training Procedure
The model was trained with supervised fine-tuning on Turkish finance-domain examples.
The objective was to improve domain adaptation and instruction-following ability in financial contexts while preserving the Turkish language capabilities of the base model.
Example Use
!pip install unsloth
Inference code
from unsloth import FastLanguageModel
import torch
repo_id = "Sengil/turkish-gemma-9b-finance-sft"
max_seq_length = 2048
SYSTEM_PROMPT = "Sen, kripto para ve borsa konularında uzmanlaşmış, hem Türkiye hem de global finansal piyasalara hakim bir finans asistanısın. Sana sorulan sorulara kullanıcının istediği şekilde cevap veriyorsun."
model, tokenizer = FastLanguageModel.from_pretrained(
model_name=repo_id,
max_seq_length=max_seq_length,
dtype=torch.bfloat16,
load_in_4bit=True,
)
FastLanguageModel.for_inference(model)
def ask_finance_model(question, max_new_tokens=1024):
prompt = (
f"<start_of_turn>system\n{SYSTEM_PROMPT}<end_of_turn>\n"
f"<start_of_turn>user\n{question.strip()}<end_of_turn>\n"
f"<start_of_turn>model\n"
)
inputs = tokenizer([prompt], return_tensors="pt", truncation=True, max_length=max_seq_length).to("cuda")
with torch.inference_mode():
outputs = model.generate(
**inputs,
max_new_tokens=max_new_tokens,
do_sample=False,
use_cache=True,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.eos_token_id,
)
text = tokenizer.decode(outputs[0], skip_special_tokens=False)
return text.split("<start_of_turn>model\n", 1)[-1].split("<end_of_turn>", 1)[0].strip()
response = ask_finance_model(
"Cari açık veren bir ülkede yerel para birimi neden baskı altında kalabilir? Kısaca açıklar mısın?",
max_new_tokens=1024,
)
print(response)
Stream use code
from unsloth import FastLanguageModel
from transformers import TextStreamer
import torch
repo_id = "Sengil/turkish-gemma-9b-finance-sft"
max_seq_length = 2048
dtype = torch.bfloat16
load_in_4bit = True
SHORT_SYSTEM_PROMPT = (
"Sen, kripto para ve borsa konularında uzmanlaşmış, hem Türkiye hem de global finansal piyasalara hakim bir finans asistanısın. Sana sorulan sorulara kullanıcının istediği şekilde cevap veriyorsun."
)
model, tokenizer = FastLanguageModel.from_pretrained(
model_name=repo_id,
max_seq_length=max_seq_length,
dtype=dtype,
load_in_4bit=load_in_4bit,
)
FastLanguageModel.for_inference(model)
def ask_finance_model(
question,
max_new_tokens=1024,
do_sample=False,
stream=True,
system_prompt=SHORT_SYSTEM_PROMPT,
):
prompt = (
f"<start_of_turn>system\n{system_prompt}<end_of_turn>\n"
f"<start_of_turn>user\n{question.strip()}<end_of_turn>\n"
f"<start_of_turn>model\n"
)
inputs = tokenizer(
[prompt],
return_tensors="pt",
truncation=True,
max_length=max_seq_length,
).to("cuda")
generation_kwargs = dict(
**inputs,
max_new_tokens=max_new_tokens,
do_sample=do_sample,
use_cache=True,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.eos_token_id,
)
if stream:
streamer = TextStreamer(
tokenizer,
skip_prompt=True,
skip_special_tokens=False,
)
generation_kwargs["streamer"] = streamer
with torch.inference_mode():
outputs = model.generate(**generation_kwargs)
full_output = tokenizer.batch_decode(outputs, skip_special_tokens=False)[0]
answer = full_output.split("<start_of_turn>model\n", 1)[-1]
answer = answer.split("<end_of_turn>", 1)[0].strip()
return answer
response = ask_finance_model(
"""Bir hisse senedinde uzun süredir devam eden yatay konsolidasyon bölgesi yukarı yönlü hacimli bir kırılımla aşıldıktan sonra, fiyatın tekrar bu banda doğru sarkmasına rağmen volatilitenin belirgin biçimde düşmesi, trendin devamı açısından nasıl yorumlanmalıdır?""",
max_new_tokens=4096,
do_sample=False,
stream=True,
)
print("\n\n====== FINAL ANSWER ======\n")
print(response)
output>>
====== FINAL ANSWER ======
<think>
Bu soru, teknik analiz bağlamında bir hisse senedi fiyat hareketini yorumlamaya yönelik. Soru şu: Uzun süreli yatay konsolidasyon (sideways consolidation) bölgesi yukarı yönlü hacimli bir kırılımla aşıldıktan sonra, fiyatın tekrar bu banda doğru sarkmasına rağmen volatilitenin belirgin biçimde düşmesi, trendin devamı açısından nasıl yorumlanmalıdır?
Öncelikle, yatay konsolidasyon: Fiyatın belirli bir aralıkta (destek ve direnç seviyeleri arasında) uzun süre hareket etmesi, genellikle bir sonraki büyük hareketin (trend) başlangıcına işaret eder. Hacimli kırılım: Kırılımın hacimli olması, trendin gücünü gösterir. Yukarı yönlü hacimli kırılım, yükseliş trendinin başladığına dair güçlü bir sinyaldir.
Ancak, fiyatın tekrar konsolidasyon bandına doğru sarkması (retest) ve volatilitenin düşmesi, trendin devamı açısından nasıl yorumlanır?
Volatilite düşüşü, piyasanın daha az hareketli, daha az belirsiz olduğu anlamına gelir. Bu, trendin güçlendiğine işaret edebilir mi? Genellikle, bir trendin güçlenmesi için volatilite düşebilir, çünkü fiyat trend çizgisine yakın kalır ve aşırı dalgalanmalar azalır. Ancak, volatilite düşüşü aynı zamanda trendin zayıfladığına da işaret edebilir; çünkü fiyat trend çizgisinden uzaklaşmaz, ancak hareketler küçülür. Bu durumda, fiyatın konsolidasyon bandına sarkması, trendin devam ettiğini gösteren bir geri çekilme (pullback) olabilir.
Yorumlama:
1. **Kırılımın doğası**: Hacimli kırılım, trendin başlangıcını onaylar. Fiyatın konsolidasyon bandına geri dönmesi, trendin devam ettiğini gösteren bir geri çekilme olabilir. Bu geri çekilme, trend çizgisine yakın bir destek seviyesinde (örneğin, kırılım sonrası oluşan yeni destek) fiyatın toparlanması beklenir.
2. **Volatilite düşüşü**: Volatilite düşüşü, piyasanın daha az tepkisel olduğunu, daha az belirsizlik olduğunu gösterir. Bu, trendin güçlendiğine işaret edebilir. Çünkü trend güçlendikçe, fiyat trend çizgisine yakın kalır ve aşırı dalgalanmalar azalır. Ancak, volatilite düşüşü aynı zamanda trendin zayıfladığına da işaret edebilir; çünkü fiyat trend çizgisinden uzaklaşmaz, ancak hareketler küçülür. Bu durumda, fiyatın konsolidasyon bandına sarkması, trendin devam ettiğini gösteren bir geri çekilme olabilir.
3. **Trend devamı açısından**: Eğer fiyat, konsolidasyon bandına sarktıktan sonra trend çizgisine yakın bir destek seviyesinde toparlanırsa ve volatilite düşüşü devam ederse, trendin devam ettiği söylenebilir. Ancak, eğer fiyat konsolidasyon bandının altına düşerse ve volatilite artarsa, trendin zayıfladığı düşünülebilir.
4. **Hacim analizi**: Kırılımda hacim yüksekti. Geri çekilme sırasında hacim düşükse, bu geri çekilmenin trendi tehdit etmediğini gösterir. Hacim düşükse, alıcılar ve satıcılar arasında bir denge var demektir.
5. **Destek ve direnç seviyeleri**: Konsolidasyon bandı artık bir destek seviyesi olarak işlev görebilir. Fiyat bu seviyeye geri döndüğünde, alıcıların devreye girmesi beklenir.
6. **Volatilite göstergeleri**: ATR (Average True Range) gibi göstergelerle volatilite ölçülebilir. Volatilite düşüşü, trendin güçlendiğine işaret edebilir.
7. **Psikolojik faktörler**: Yatırımcılar, trendin devam ettiğine inanmaya başlar ve daha az işlem yapar, bu da volatiliteyi düşürür.
Sonuç olarak, bu durum trendin devamı açısından olumlu bir sinyal olarak yorumlanabilir. Ancak, fiyatın konsolidasyon bandının altına düşmesi ve volatilitenin artması durumunda trendin zayıfladığı düşünülebilir.
Cevabı yapılandıralım:
- Giriş: Yatay konsolidasyon, hacimli kırılım, geri çekilme ve volatilite düşüşü kavramlarını açıkla.
- Kırılımın doğası: Hacimli kırılım trendin başlangıcını onaylar.
- Geri çekilme: Trend devamı için normal bir geri çekilme olabilir.
- Volatilite düşüşü: Trendin güçlendiğine işaret edebilir, çünkü fiyat trend çizgisine yakın kalır.
- Destek seviyeleri: Konsolidasyon bandı artık destek olarak işlev görür.
- Hacim: Geri çekilme sırasında hacim düşükse, trend devam ediyor demektir.
- Olası senaryolar: Fiyatın konsolidasyon bandının altına düşmesi ve volatilitenin artması trendi tehdit eder.
- Sonuç: Bu durum trendin devamı açısından olumlu yorumlanabilir, ancak dikkatli olunmalı.
Cevabı Türkçe olarak vermeliyim.
</think>
Yatay konsolidasyon, bir hisse senedinin belirli bir fiyat aralığında uzun süre hareket etmesiyle oluşan bir piyasa yapısıdır. Bu aralık, genellikle bir sonraki büyük trendin (yükseliş veya düşüş) başlangıcına işaret eder. Hacimli kırılım ise, fiyatın bu aralığı yukarı veya aşağı yönde, önemli bir hacimle aşmasıdır. Yukarı yönlü hacimli kırılım, yükseliş trendinin başladığına dair güçlü bir sinyaldir.
Ancak, fiyatın konsolidasyon bandına geri dönmesi (retest) ve volatilitenin belirgin biçimde düşmesi, trendin devamı açısından nasıl yorumlanmalıdır? Bu durumu değerlendirmek için birkaç teknik ve psikolojik faktörü göz önünde bulundurmak gerekir.
### 1. Kırılımın Doğası ve Geri Çekilme
- **Hacimli kırılım**, trendin başlangıcını onaylar. Fiyatın konsolidasyon bandına geri dönmesi, trendin devam ettiğini gösteren bir geri çekilme (pullback) olabilir. Bu geri çekilme, trend çizgisine yakın bir destek seviyesinde (örneğin, kırılım sonrası oluşan yeni destek) fiyatın toparlanması beklenir.
- Geri çekilme, trendin gücünü test eder. Eğer fiyat, konsolidasyon bandının altına düşmez ve trend çizgisine yakın bir destekte toparlanırsa, trendin devam ettiği söylenebilir.
### 2. Volatilite Düşüşünün Anlamı
- Volatilite düşüşü, piyasanın daha az hareketli, daha az belirsiz olduğu anlamına gelir. Bu durum, trendin güçlendiğine işaret edebilir. Çünkü trend güçlendikçe, fiyat trend çizgisine yakın kalır ve aşırı dalgalanmalar azalır.
- Ancak, volatilite düşüşü aynı zamanda trendin zayıfladığına da işaret edebilir; çünkü fiyat trend çizgisinden uzaklaşmaz, ancak hareketler küçülür. Bu durumda, fiyatın konsolidasyon bandına sarkması, trendin devam ettiğini gösteren bir geri çekilme olabilir.
### 3. Destek ve Direnç Seviyeleri
- Konsolidasyon bandı artık bir destek seviyesi olarak işlev görebilir. Fiyat bu seviyeye geri döndüğünde, alıcıların devreye girmesi beklenir.
- Eğer fiyat, konsolidasyon bandının altına düşerse ve volatilite artarsa, trendin zayıfladığı düşünülebilir.
### 4. Hacim Analizi
- Kırılımda hacim yüksekti. Geri çekilme sırasında hacim düşükse, bu geri çekilmenin trendi tehdit etmediğini gösterir. Hacim düşükse, alıcılar ve satıcılar arasında bir denge var demektir.
- Hacim düşükse, fiyatın trend çizgisine yakın bir destekte toparlanması daha olasıdır.
### 5. Volatilite Göstergeleri
- ATR (Average True Range) gibi göstergelerle volatilite ölçülebilir. Volatilite düşüşü, trendin güçlendiğine işaret edebilir.
- Volatilite düşüşü, yatırımcıların trendin devam ettiğine inanmaya başladığını ve daha az işlem yaptığını gösterir.
### 6. Olası Senaryolar
- **Senaryo 1: Trend devam ediyor**
Fiyat, konsolidasyon bandına geri döndüğünde trend çizgisine yakın bir destekte toparlanır ve volatilite düşüşü devam eder. Bu durumda, trendin devam ettiği söylenebilir.
- **Senaryo 2: Trend zayıflıyor**
Fiyat, konsolidasyon bandının altına düşer ve volatilite artar. Bu durumda, trendin zayıfladığı veya tersine döndüğü düşünülebilir.
### Sonuç
Bu durum, trendin devamı açısından genellikle olumlu bir sinyal olarak yorumlanır. Ancak, fiyatın konsolidasyon bandının altına düşmesi ve volatilitenin artması durumunda trendin zayıfladığına dair uyarı sinyalleri olarak değerlendirilmelidir. Yatırımcılar, bu geri çekilmeyi bir fırsat olarak görebilir ve trend çizgisine yakın destek seviyelerinde alım yapabilirler.
**Not:** Bu yorum, teknik analiz prensiplerine dayanmaktadır. Yatırım kararları vermeden önce ek analizler ve risk yönetimi uygulanmalıdır.
Limitations
Although the model is specialized for Turkish finance-related tasks, it may still:
- Generate inaccurate or outdated financial information
- Produce overly confident responses in uncertain scenarios
- Reflect biases present in the training data
- Require human verification for high-stakes financial use cases
This model should not be used as a substitute for professional financial, legal, or investment advice.
Risks and Recommendations
Users are encouraged to:
- Validate critical outputs before use
- Avoid relying on the model for regulated or high-risk financial decisions
- Use human oversight in production environments
- Benchmark the model on task-specific evaluation datasets before deployment
Citation
@misc{sengil_turkish_gemma_9b_finance_sft,
author = {Mert Sengil},
title = {Sengil/turkish-gemma-9b-finance-sft},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/Sengil/turkish-gemma-9b-finance-sft}}
}
Author
Mert Sengil
Model tree for Sengil/turkish-gemma-9b-finance-sft
Base model
ytu-ce-cosmos/Turkish-Gemma-9b-T1