|
|
--- |
|
|
license: apache-2.0 |
|
|
language: |
|
|
- en |
|
|
library_name: transformers |
|
|
pipeline_tag: text-generation |
|
|
tags: |
|
|
- pinescript |
|
|
- tradingview |
|
|
- code-generation |
|
|
- finance |
|
|
- trading |
|
|
- codegemma |
|
|
- fine-tuned |
|
|
base_model: google/codegemma-7b-it |
|
|
datasets: |
|
|
- anthonym21/pinescript-v5-instructions |
|
|
model-index: |
|
|
- name: pinescript-v5-instructions-merged |
|
|
results: [] |
|
|
--- |
|
|
|
|
|
# PineScript v5 Code Generator |
|
|
|
|
|
A fine-tuned CodeGemma 7B model specialized in generating TradingView PineScript v5 code for trading indicators, strategies, and libraries. |
|
|
|
|
|
## Model Description |
|
|
|
|
|
This model was fine-tuned on 5,000+ PineScript v5 examples from the [PineScripts-Permissive](https://huggingface.co/datasets/mrmegatelo/PineScripts-Permissive) dataset, which contains high-quality, permissively-licensed scripts from TradingView. |
|
|
|
|
|
- **Base Model:** [google/codegemma-7b-it](https://huggingface.co/google/codegemma-7b-it) |
|
|
- **Fine-tuning Method:** QLoRA (4-bit quantization + LoRA adapters) |
|
|
- **Training Data:** 4,774 instruction/response pairs |
|
|
- **Context Length:** 4096 tokens |
|
|
|
|
|
## Intended Use |
|
|
|
|
|
Generate PineScript v5 code for: |
|
|
- Technical indicators (RSI, MACD, Bollinger Bands, custom indicators) |
|
|
- Trading strategies with backtesting |
|
|
- Reusable libraries |
|
|
- Alert conditions |
|
|
- Custom visualizations |
|
|
|
|
|
## Usage |
|
|
|
|
|
```python |
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
import torch |
|
|
|
|
|
model_id = "anthonym21/pinescript-v5-instructions-merged" |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_id) |
|
|
model = AutoModelForCausalLM.from_pretrained( |
|
|
model_id, |
|
|
torch_dtype=torch.bfloat16, |
|
|
device_map="auto", |
|
|
) |
|
|
|
|
|
def generate_pinescript(prompt, max_tokens=1024): |
|
|
formatted = f"### Human: {prompt}\n### Assistant:" |
|
|
inputs = tokenizer(formatted, return_tensors="pt").to(model.device) |
|
|
|
|
|
outputs = model.generate( |
|
|
**inputs, |
|
|
max_new_tokens=max_tokens, |
|
|
temperature=0.7, |
|
|
top_p=0.9, |
|
|
do_sample=True, |
|
|
pad_token_id=tokenizer.eos_token_id, |
|
|
) |
|
|
|
|
|
response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
return response.split("### Assistant:")[-1].strip() |
|
|
|
|
|
# Example |
|
|
code = generate_pinescript("Write a PineScript v5 RSI indicator with overbought/oversold zones") |
|
|
print(code) |
|
|
``` |
|
|
|
|
|
## Example Prompts |
|
|
|
|
|
| Prompt | Description | |
|
|
|--------|-------------| |
|
|
| "Write a PineScript v5 indicator that shows RSI with dynamic overbought/oversold levels" | RSI with adaptive levels | |
|
|
| "Create a MACD crossover strategy with stop loss and take profit" | Complete trading strategy | |
|
|
| "Write a Bollinger Bands indicator with squeeze detection" | Volatility indicator | |
|
|
| "Create a multi-timeframe moving average indicator" | MTF analysis tool | |
|
|
|
|
|
## Training Details |
|
|
|
|
|
| Parameter | Value | |
|
|
|-----------|-------| |
|
|
| Epochs | 3 | |
|
|
| Batch Size | 2 | |
|
|
| Gradient Accumulation | 8 | |
|
|
| Learning Rate | 2e-4 | |
|
|
| LoRA r | 64 | |
|
|
| LoRA alpha | 128 | |
|
|
| Max Seq Length | 4096 | |
|
|
| Quantization | 4-bit (nf4) | |
|
|
|
|
|
## Limitations |
|
|
|
|
|
- Generates PineScript v5 syntax; may not be compatible with older versions |
|
|
- Code should be reviewed and tested before live trading |
|
|
- Complex multi-indicator strategies may require refinement |
|
|
- Does not provide financial advice |
|
|
|
|
|
## Dataset |
|
|
|
|
|
Training data sourced from [mrmegatelo/PineScripts-Permissive](https://huggingface.co/datasets/mrmegatelo/PineScripts-Permissive): |
|
|
- 5,848 PineScript v5 scripts |
|
|
- Filtered to 4,774 high-quality examples |
|
|
- Includes indicators, strategies, and libraries |
|
|
- All scripts under permissive licenses (MPL-2.0, Apache-2.0) |
|
|
|
|
|
## Citation |
|
|
|
|
|
```bibtex |
|
|
@misc{pinescript-v5-instructions-merged, |
|
|
author = {Anthony Maio}, |
|
|
title = {PineScript v5 Code Generator}, |
|
|
year = {2025}, |
|
|
publisher = {HuggingFace}, |
|
|
url = {https://huggingface.co/anthonym21/pinescript-v5-instructions-merged} |
|
|
} |
|
|
``` |
|
|
|
|
|
## License |
|
|
|
|
|
Apache 2.0 (same as base model) |
|
|
|