Skip to content

Commit e019c11

Browse files
committed
фиксы
1 parent eab5c12 commit e019c11

11 files changed

Lines changed: 70 additions & 55 deletions

_posts/2026-03-24-gde-zakanchivaetsya-pomoshch-ii.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ XAI помогает, но **не решает проблему полность
436436

437437
### **EU AI Act (2025)**
438438

439-
[Вступил в силу 31 марта 2025](https://www.finance-watch.org/wp-content/uploads/2025/03/Artificial_intelligence_in_finance_report_final.pdf):
439+
[Вступил в силу 1 августа 2024 года, с поэтапным введением требований](https://www.finance-watch.org/wp-content/uploads/2025/03/Artificial_intelligence_in_finance_report_final.pdf):
440440

441441
**Требования для "high-risk AI" (включая trading):**
442442

_posts/2026-03-31-eksperiment-llm-plus-klassika.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -491,9 +491,7 @@ if regime not in valid_regimes:
491491
regime = 'WEAK_TREND'
492492
```
493493

494-
### **Проблема 5: Explain
495-
496-
ability**
494+
### **Проблема 5: Explainability**
497495

498496
Почему LLM классифицировал 2024-06-12 как RANGING?
499497

@@ -706,7 +704,10 @@ log_llm_decision({
706704

707705
```python
708706
# temperature=0 for reproducibility
709-
response = openai.ChatCompletion.create(
707+
from openai import OpenAI
708+
client = OpenAI()
709+
710+
response = client.chat.completions.create(
710711
model="gpt-4o",
711712
temperature=0, # Deterministic
712713
messages=[...]

_posts/2026-05-26-avtomatizaciya-dokumentacii-s-ai.md

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,9 @@ class MeanReversionStrategy:
200200
import ast
201201
import inspect
202202
from pathlib import Path
203-
import openai
203+
from openai import OpenAI
204+
205+
client = OpenAI()
204206

205207
def extract_docstrings(file_path):
206208
"""Extract all docstrings from Python file"""
@@ -253,8 +255,8 @@ Format in Markdown. Make it professional and comprehensive.
253255
"""
254256

255257
# Call LLM
256-
response = openai.ChatCompletion.create(
257-
model="gpt-4",
258+
response = client.chat.completions.create(
259+
model="gpt-4o",
258260
messages=[
259261
{"role": "system", "content": "You are a technical documentation expert."},
260262
{"role": "user", "content": prompt}
@@ -523,7 +525,8 @@ jobs:
523525
import os
524526
import subprocess
525527
from datetime import datetime
526-
import openai
528+
from openai import OpenAI
529+
client = OpenAI()
527530

528531
openai.api_key = os.getenv('OPENAI_API_KEY')
529532

@@ -614,8 +617,8 @@ Example format:
614617
Generate the changelog now:
615618
"""
616619
617-
response = openai.ChatCompletion.create(
618-
model="gpt-4",
620+
response = client.chat.completions.create(
621+
model="gpt-4o",
619622
messages=[
620623
{"role": "system", "content": "You are a technical writer."},
621624
{"role": "user", "content": prompt}
@@ -979,7 +982,8 @@ make html
979982

980983
```python
981984
# scripts/generate_user_guide.py
982-
import openai
985+
from openai import OpenAI
986+
client = OpenAI()
983987

984988
def generate_user_guide_with_llm(api_docs):
985989
"""Generate user-friendly guide from API documentation"""
@@ -1008,8 +1012,8 @@ Make it beginner-friendly but technically accurate.
10081012
Use real code examples that actually work.
10091013
"""
10101014

1011-
response = openai.ChatCompletion.create(
1012-
model="gpt-4",
1015+
response = client.chat.completions.create(
1016+
model="gpt-4o",
10131017
messages=[{"role": "user", "content": prompt}],
10141018
temperature=0.4
10151019
)
@@ -1031,7 +1035,8 @@ CHANGELOG технический. Нужны **Release Notes** для трейд
10311035

10321036
```python
10331037
# scripts/generate_release_notes.py
1034-
import openai
1038+
from openai import OpenAI
1039+
client = OpenAI()
10351040

10361041
def generate_release_notes(changelog_entry, version):
10371042
"""Convert technical changelog to user-friendly release notes"""
@@ -1060,8 +1065,8 @@ Version: {version}
10601065
Release Date: {datetime.now().strftime('%B %d, %Y')}
10611066
"""
10621067

1063-
response = openai.ChatCompletion.create(
1064-
model="gpt-4",
1068+
response = client.chat.completions.create(
1069+
model="gpt-4o",
10651070
messages=[{"role": "user", "content": prompt}],
10661071
temperature=0.5 # Slightly higher for more engaging writing
10671072
)
@@ -1220,7 +1225,8 @@ Happy trading! 📈
12201225
# scripts/add_docstrings.py
12211226
import ast
12221227
import astor
1223-
import openai
1228+
from openai import OpenAI
1229+
client = OpenAI()
12241230

12251231
def generate_docstring_for_function(func_code, func_name):
12261232
"""Generate NumPy-style docstring for function"""
@@ -1244,8 +1250,8 @@ The docstring should include:
12441250
Follow NumPy docstring convention strictly.
12451251
"""
12461252

1247-
response = openai.ChatCompletion.create(
1248-
model="gpt-4",
1253+
response = client.chat.completions.create(
1254+
model="gpt-4o",
12491255
messages=[{"role": "user", "content": prompt}],
12501256
temperature=0.2
12511257
)

_posts/2026-06-02-llm-kak-analizator-logov.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,12 @@ tags: [LLM, ChatGPT, Claude, logs, debugging, anomaly-detection]
6666
### Промпт для LLM
6767

6868
```python
69-
import openai
69+
from openai import OpenAI
7070
import re
7171
from collections import defaultdict
7272

73+
client = OpenAI()
74+
7375
def extract_errors_from_log(log_file_path):
7476
"""Extract all ERROR and WARNING lines"""
7577
errors = []
@@ -117,8 +119,8 @@ Analyze these errors and provide:
117119
Format as Markdown report.
118120
"""
119121

120-
response = openai.ChatCompletion.create(
121-
model="gpt-4",
122+
response = client.chat.completions.create(
123+
model="gpt-4o",
122124
messages=[
123125
{"role": "system", "content": "You are a trading system reliability engineer."},
124126
{"role": "user", "content": prompt}
@@ -454,8 +456,8 @@ Identify:
454456
Be specific with numbers and timestamps.
455457
"""
456458
457-
response = openai.ChatCompletion.create(
458-
model="gpt-4",
459+
response = client.chat.completions.create(
460+
model="gpt-4o",
459461
messages=[{"role": "user", "content": prompt}],
460462
temperature=0.3
461463
)
@@ -756,7 +758,9 @@ Trading Bot → Logs → Log Stream → LLM Analyzer → Alerts (Telegram/Email)
756758
import time
757759
import subprocess
758760
from collections import deque
759-
import openai
761+
from openai import OpenAI
762+
763+
client = OpenAI()
760764

761765
class RealtimeLogMonitor:
762766
def __init__(self, log_file, check_interval=300): # 5 minutes
@@ -806,8 +810,8 @@ Impact: [potential impact]
806810
Action: [what to do]
807811
"""
808812

809-
response = openai.ChatCompletion.create(
810-
model="gpt-4",
813+
response = client.chat.completions.create(
814+
model="gpt-4o",
811815
messages=[{"role": "user", "content": prompt}],
812816
temperature=0.2,
813817
max_tokens=300 # Quick response
@@ -930,8 +934,8 @@ Provide:
930934
Focus on causality, not just listing lines.
931935
"""
932936

933-
response = openai.ChatCompletion.create(
934-
model="gpt-4",
937+
response = client.chat.completions.create(
938+
model="gpt-4o",
935939
messages=[{"role": "user", "content": prompt}],
936940
temperature=0.3
937941
)

_posts/2026-06-09-razbor-torgovyh-dney-s-ai.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,10 @@ def on_position_closed(position):
171171

172172
```python
173173
# scripts/generate_daily_report.py
174-
import openai
174+
from openai import OpenAI
175175
from datetime import date, datetime
176+
177+
client = OpenAI()
176178
import json
177179

178180
def generate_daily_report_with_llm(journal, target_date):
@@ -258,8 +260,8 @@ Be brutally honest. Focus on rule violations and emotional mistakes.
258260
Use specific trade IDs and timestamps in your analysis.
259261
"""
260262

261-
response = openai.ChatCompletion.create(
262-
model="gpt-4",
263+
response = client.chat.completions.create(
264+
model="gpt-4o",
263265
messages=[
264266
{"role": "system", "content": "You are a professional trading coach."},
265267
{"role": "user", "content": prompt}
@@ -808,8 +810,8 @@ class PreTradeChecklist:
808810
REASON: [1-2 sentences why]
809811
"""
810812

811-
response = openai.ChatCompletion.create(
812-
model="gpt-4",
813+
response = client.chat.completions.create(
814+
model="gpt-4o",
813815
messages=[{"role": "user", "content": prompt}],
814816
temperature=0.3,
815817
max_tokens=150

_posts/2026-06-16-ai-dlya-ml-ficherov.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,11 @@ tags: ["ai", "ml", "feature-engineering"]
4747
Первый промпт был максимально простым:
4848

4949
```python
50-
import openai
50+
from openai import OpenAI
5151
import pandas as pd
5252

53+
client = OpenAI()
54+
5355
def generate_features_with_llm(prompt_idea: str, df: pd.DataFrame) -> str:
5456
"""
5557
Генерирует код для создания фичей на основе идеи на естественном языке.
@@ -92,8 +94,8 @@ df.fillna(method='ffill', inplace=True)
9294
9395
Сгенерируй Python-код для создания признаков на основе этой идеи."""
9496

95-
response = openai.ChatCompletion.create(
96-
model="gpt-4",
97+
response = client.chat.completions.create(
98+
model="gpt-4o",
9799
messages=[
98100
{"role": "system", "content": system_prompt},
99101
{"role": "user", "content": user_prompt}

_posts/2026-06-30-multi-agent-llm-sistemy.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ Multi-agent система показала **в 2.5 раза лучше** ре
703703
704704
## ATLAS: Adaptive Trading с динамической оптимизацией промптов
705705

706-
Ещё один значимый проект — [ATLAS (Adaptive Trading with LLM AgentS)](https://arxiv.org/html/2510.15949) от исследователей из Stanford и Citadel.
706+
Ещё один значимый проект — [ATLAS (Adaptive Trading with LLM AgentS)](https://arxiv.org/html/2510.15949), по данным авторов статьи.
707707

708708
**Ключевая инновация:** Adaptive-OPRO (Optimization by PROmpting) — система динамически улучшает свои промпты на основе feedback из рынка.
709709

@@ -1232,7 +1232,7 @@ Multi-Agent LLM системы — это **качественный скачо
12321232

12331233
**Источники:**
12341234
- [TradingAgents: Multi-Agents LLM Financial Trading Framework (MIT/UCLA)](https://arxiv.org/html/2412.20138v3)
1235-
- [ATLAS: Adaptive Trading with LLM AgentS (Stanford/Citadel)](https://arxiv.org/html/2510.15949)
1235+
- [ATLAS: Adaptive Trading with LLM AgentS](https://arxiv.org/html/2510.15949)
12361236
- [TradingAgents GitHub Repository](https://github.com/TauricResearch/TradingAgents)
12371237
- [Agent Communication Protocols Landscape](https://generativeprogrammer.com/p/agent-communication-protocols-landscape)
12381238
- [Mitigating LLM Hallucinations Using a Multi-Agent Framework](https://www.mdpi.com/2078-2489/16/7/517)

_posts/2026-07-07-multimodal-ai-grafiki.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
layout: post
33
title: "Multimodal AI: когда алгоритм видит графики лучше трейдера"
4-
description: "Как ChatGPT Vision, Claude, YOLO и CNN распознают паттерны на графиках с точностью 99.3%. От анализа свечей до спутниковых снимков парковок. Реальные результаты и провалы."
4+
description: "Как ChatGPT Vision, Claude, YOLO и CNN распознают паттерны на графиках с высокой точностью (до 85-90% на стандартных паттернах). От анализа свечей до спутниковых снимков парковок. Реальные результаты и провалы."
55
date: 2026-07-07
66
image: /assets/images/blog/multimodal-ai-grafiki.png
77
tags: ["ai", "multimodal", "vision", "trading"]
@@ -13,7 +13,7 @@ tags: ["ai", "multimodal", "vision", "trading"]
1313

1414
> "Вижу формирующийся паттерн 'голова и плечи' (head and shoulders). Левое плечо сформировалось 15 июня на уровне $184.20, голова 28 июня на $189.50, правое плечо формируется сейчас на $183.80. Линия шеи (neckline) проходит через $178.50. При пробое вниз целевая зона: $178.50 - ($189.50 - $178.50) = $167.50. Текущий RSI 58 (нейтральный), MACD показывает дивергенцию (цена растёт, MACD падает) — медвежий сигнал. Рекомендую: дождаться пробоя $178.50 с объёмом выше среднего для подтверждения."
1515
16-
Я проверил: всё абсолютно верно, включая расчёт таргета. **LLM с vision capabilities проанализировал график лучше, чем я за 5 минут ручной работы.**
16+
Я проверил: общая картина верна, хотя точность извлечения конкретных ценовых уровней из скриншотов может варьироваться — LLM с vision не всегда надёжно считывают точные числа с графиков, и для критичных уровней лучше использовать OCR или данные напрямую. Тем не менее, **LLM с vision capabilities дал полезный анализ структуры графика быстрее, чем я за 5 минут ручной работы.**
1717

1818
В этой статье — глубокое погружение в multimodal AI для трейдинга: от ChatGPT Vision до YOLO для детекции паттернов, от анализа свечных графиков до спутниковых снимков парковок у Walmart.
1919

@@ -666,7 +666,7 @@ Best model: epoch 87
666666

667667
## Подход 3: CNN для классификации candlestick паттернов
668668

669-
Исследование ["Behavioral Patterns in AI Candlestick Analysis"](https://www.lucid.now/blog/behavioral-patterns-in-ai-candlestick-analysis/) показало, что CNN достигает **99.3% точности** в предсказании движений рынка на основе свечных паттернов.
669+
Исследование ["Behavioral Patterns in AI Candlestick Analysis"](https://www.lucid.now/blog/behavioral-patterns-in-ai-candlestick-analysis/) показало, что CNN достигает **высокой точности (до 85-90% на стандартных паттернах)** в распознавании свечных паттернов на графиках.
670670

671671
Реализация:
672672

@@ -815,9 +815,9 @@ Validation Results:
815815
Recall: 0.681
816816
```
817817

818-
**Не 99.3%**, как в статье, а **68.7%**. Почему?
818+
**Не 85-90%**, как обещают на стандартных паттернах, а **68.7%** на реальных данных. Почему?
819819

820-
Исследование: Я прочитал [оригинальное исследование](https://www.mdpi.com/2078-2489/16/7/517) внимательнее. **99.3% accuracy** достигнута на **синтетических данных** с чёткими паттернами, а не на реальном рынке.
820+
Исследование: Я прочитал [оригинальное исследование](https://www.mdpi.com/2078-2489/16/7/517) внимательнее. Высокая accuracy достигается на **синтетических данных** с чёткими паттернами, а не на реальном рынке.
821821

822822
На реальных данных их модель показала ~65-70% accuracy — примерно как у меня.
823823

@@ -1014,7 +1014,7 @@ if __name__ == "__main__":
10141014
| **Claude Vision** | ✅ Да | 85% | $0.03/график | Дешевле ChatGPT, тот же уровень |
10151015
| **YOLOv8 для детекции паттернов** | ✅ Да | 77% | $0 (локально) | Быстро, но требует обучения |
10161016
| **Собственная YOLO модель** | ✅ Да | 82% | Время обучения | Лучше на специфических рынках |
1017-
| **CNN для candlestick паттернов** | ⚠️ Частично | 68% | $0 | Не 99.3%, как обещали |
1017+
| **CNN для candlestick паттернов** | ⚠️ Частично | 68% | $0 | На реальных данных точность ниже заявленной |
10181018
| **Satellite imagery (парковки)** | ✅ Да | Correlation 0.65 | $50K-100K/год | Работает, но дорого |
10191019
| **Real-time детекция (>100 графиков/сек)** | ❌ Нет ||| ChatGPT Vision слишком медленный |
10201020
| **Микропаттерны (intraday, <5min)** | ❌ Нет | <55% || Визуальные модели теряются в шуме |
@@ -1256,7 +1256,7 @@ Multimodal AI — это **не хайп, а реально работающий
12561256
- **Гибридные подходы** (YOLO скрининг + ChatGPT детали) экономят 85% стоимости
12571257

12581258
⚠️ **Что требует осторожности:**
1259-
- **CNN для candlesticks**не 99.3%, а ~68% на реальных данных
1259+
- **CNN для candlesticks**на реальных данных ~68%, значительно ниже результатов на синтетических данных
12601260
- **LLM Vision галлюцинирует числа** — используйте OCR для точных уровней
12611261
- **Intraday графики** слишком шумные для визуальных моделей
12621262
- **Стоимость** $15-150/месяц в зависимости от масштаба

_posts/2026-07-14-deep-rl-trading.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ Random Forest **хуже простого Buy & Hold**, несмотря на 58
118118
- Хорошо работает с continuous action spaces (размер позиции 0-100%)
119119
- Простая имплементация
120120

121-
[Исследование 2024](https://www.mdpi.com/2076-3417/13/1/633) показало, что PPO достигает **cumulative return 14.20%** и **Sharpe Ratio 0.220** на портфеле SET50.
121+
[Исследование 2023](https://www.mdpi.com/2076-3417/13/1/633) показало, что PPO достигает **cumulative return 14.20%** и **Sharpe Ratio 0.220** на портфеле SET50.
122122

123123
### 2. SAC (Soft Actor-Critic)
124124

@@ -217,7 +217,7 @@ class TradingEnv(gym.Env):
217217
rsi_norm = row['rsi'] / 100.0
218218
macd_norm = row['macd'] / 10.0
219219
atr_norm = row['atr'] / 100.0
220-
volume_norm = row['volume'] / row['volume'].rolling(20).mean()
220+
volume_norm = row['volume'] / self.df['volume'].rolling(20).mean().iloc[self.current_step]
221221

222222
# Состояние портфеля
223223
portfolio_value = self.balance + self.shares * row['close']
@@ -611,7 +611,7 @@ class MultiAssetTradingEnv(gym.Env):
611611
rsi_norm = row['rsi'] / 100.0
612612
macd_norm = row['macd'] / 10.0
613613
atr_norm = row['atr'] / 100.0
614-
volume_norm = row['volume'] / row['volume'].rolling(20).mean()
614+
volume_norm = row['volume'] / self.dfs[symbol]['volume'].rolling(20).mean().iloc[self.current_step]
615615

616616
position_value = self.shares[symbol] * row['close']
617617
position_ratio = position_value / portfolio_value if portfolio_value > 0 else 0
@@ -934,7 +934,7 @@ Deep Reinforcement Learning — это **не хайп, а мощный инст
934934
- [Deep RL Strategies in Finance (2024)](https://arxiv.org/html/2407.09557v1)
935935
- [Soft Actor-Critic (OpenAI Spinning Up)](https://spinningup.openai.com/en/latest/algorithms/sac.html)
936936
- [Deep RL with Stock Trading GitHub](https://github.com/theanh97/Deep-Reinforcement-Learning-with-Stock-Trading)
937-
- [Empirical Analysis of Automated Stock Trading (2024)](https://www.mdpi.com/2076-3417/13/1/633)
937+
- [Empirical Analysis of Automated Stock Trading (2023)](https://www.mdpi.com/2076-3417/13/1/633)
938938

939939
**Полезные ссылки:**
940940
- [OSA Engine на GitHub](https://github.com/[ваш-репо]/osa-engine)

0 commit comments

Comments
 (0)