neuroalpha 0.3.14 → 0.3.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -170
- package/config/strategy.json +2 -2
- package/docs//320/221/320/240/320/236/320/232/320/225/320/240/320/253_API.md +119 -0
- package/docs//320/224/320/225/320/237/320/233/320/236/320/231.md +10 -17
- package/docs//320/230/320/235/320/241/320/242/320/240/320/243/320/232/320/246/320/230/320/257.md +97 -156
- package/docs//320/234/320/225/320/245/320/220/320/235/320/230/320/232/320/220_/320/230_/320/237/320/220/320/240/320/220/320/234/320/225/320/242/320/240/320/253.md +29 -45
- package/package.json +1 -1
- package/public/admin.html +9 -8
- package/public/app.js +591 -832
- package/public/index.html +142 -186
- package/public/landing.html +19 -33
- package/public/legal.html +3 -4
- package/public/styles.css +10 -4
- package/server/api/routes.js +10 -3
- package/server/auth/index.js +53 -34
- package/server/brokers/index.js +718 -107
- package/server/data/moex.js +74 -23
- package/server/db.js +3 -2
- package/server/model/dataset.js +10 -2
- package/server/model/forecast.js +56 -19
- package/server/model/live.js +30 -6
- package/server/model/models.js +113 -31
- package/server/model/research.js +100 -26
- package/server/params-meta.js +16 -16
- package/server/strategist/index.js +4 -0
- package/server/strategist/tools.js +229 -0
package/README.md
CHANGED
|
@@ -1,170 +1,80 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
npm.cmd
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
│
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
│
|
|
35
|
-
│
|
|
36
|
-
│
|
|
37
|
-
│
|
|
38
|
-
|
|
39
|
-
│
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
##
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
- **Число потоков** — автоматически: ядер − 1 (`os.availableParallelism()`), не больше числа окон и не больше, чем помещается
|
|
83
|
-
в половину свободной памяти (≈250 МБ на поток + 3 × объём данных окна). Вручную — переменная `TRANSFORMER_THREADS`.
|
|
84
|
-
- **Видеокарта** (`transformerGpu`, экспериментально): без нативных сборок — TensorFlow.js с WebGL в безголовом браузере
|
|
85
|
-
на базе Chromium со своим временным профилем. Браузер ищется так: `BROWSER_PATH`, затем стандартные места Chrome / Edge /
|
|
86
|
-
Chromium / Brave (Windows: Program Files, Program Files (x86), LOCALAPPDATA; macOS: /Applications; Linux: PATH).
|
|
87
|
-
Служебная страница и WebSocket — на отдельном порту только для 127.0.0.1. Если браузера нет, WebGL недоступен
|
|
88
|
-
или отрисовка программная (SwiftShader, llvmpipe, Microsoft Basic Render…) — обучение идёт на процессоре.
|
|
89
|
-
Окна на видеокарте обучаются по очереди; браузер закрывается после исследования (для прогноза — после 10 минут простоя)
|
|
90
|
-
и при отмене; процессы завершаются по своему PID. Где шло обучение — в результатах исследования (`extra.transformer.device`).
|
|
91
|
-
На встроенной графике видеокарта обычно не быстрее процессора — выигрыш возможен на дискретной.
|
|
92
|
-
- Прогноз «сейчас» и живая проверка обучают трансформер в отдельном потоке (или на видеокарте), чтобы сервер не замирал.
|
|
93
|
-
- `transformerEpochs` и `transformerStride` — эпохи и шаг свечей при обучении (по умолчанию 8 и 6).
|
|
94
|
-
|
|
95
|
-
## Структура
|
|
96
|
-
|
|
97
|
-
| Путь | Назначение |
|
|
98
|
-
|------|------------|
|
|
99
|
-
| `config/strategy.json` | Настройки по умолчанию |
|
|
100
|
-
| `server/model/` | Словарь, данные, модели, исследование, прогноз, живая проверка, метрики |
|
|
101
|
-
| `server/model/transformer-core.js` | Трансформер: обучение и прогноз — общий код для Node и браузера (tf передаётся параметром) |
|
|
102
|
-
| `server/model/transformer.js`, `tf-node.js` | Обёртка для главного потока, загрузка TensorFlow.js (WASM → процессор) |
|
|
103
|
-
| `server/model/transformer-pool.js`, `transformer-worker.js` | Пул рабочих потоков: окна трансформера обучаются одновременно |
|
|
104
|
-
| `server/model/transformer-gpu.js`, `gpu-worker.html/.js` | Обучение на видеокарте: WebGL в безголовом Chrome / Edge / Chromium / Brave |
|
|
105
|
-
| `server/model/profiles.js` | Описания компаний: 20 устойчивых признаков от ИИ, «текстовая» карта |
|
|
106
|
-
| `server/news/index.js` | Новости: сбор из RSS и с Мосбиржи, разметка ИИ, фильтр для живой проверки |
|
|
107
|
-
| `server/brokers/index.js` | Брокерские счета: Т-Банк, Финам, Алор, БКС; лоты и шаг цены Мосбиржи; предохранители |
|
|
108
|
-
| `server/strategist/` | Стратег: цикл агента, инструменты, аналитика |
|
|
109
|
-
| `server/llm/client.js` | Потоковый клиент модели (SSE, функции, таймаут по простою, отмена) |
|
|
110
|
-
| `server/llm/providers.js` | Реестр подключений и выбранная модель, GigaChat OAuth |
|
|
111
|
-
| `server/params-meta.js`, `server/settings.js` | Описание и хранение настроек |
|
|
112
|
-
| `server/data/moex.js` | Загрузка свечей и дивидендов MOEX ISS с кэшем (запасной источник дивидендов — smart-lab) |
|
|
113
|
-
| `public/` | Интерфейс без сборки (lightweight-charts, marked) |
|
|
114
|
-
|
|
115
|
-
## LLM (выбор модели для Стратега)
|
|
116
|
-
|
|
117
|
-
Модель выбирается в шапке чата (список «Провайдер · модель»). Подключения настраиваются во вкладке «Настройки → Модели ИИ»:
|
|
118
|
-
добавление, редактирование (включая ключ и адрес), удаление, проверка («ответь одним словом»), список моделей с сервера.
|
|
119
|
-
Реестр, ключи и выбор хранятся в базе (`data/` — в git не попадают); с сервера ключи никогда не возвращаются.
|
|
120
|
-
|
|
121
|
-
Протоколы:
|
|
122
|
-
- **OpenAI-совместимый** — `https://…/v1/chat/completions` (потоковый ответ, размышления, инструменты).
|
|
123
|
-
- **GigaChat** — формат чата как у OpenAI, но вход по OAuth: «ключ авторизации» меняется на токен (живёт ~30 минут, обновляется сам), `scope` по умолчанию `GIGACHAT_API_PERS`.
|
|
124
|
-
- **Ollama** — `http://localhost:11434/v1/chat/completions`, ключ не нужен.
|
|
125
|
-
- **Anthropic** — без потока и без инструментов (только беседа).
|
|
126
|
-
|
|
127
|
-
Если у модели снят флажок «инструменты», Стратег только беседует (в чате доступен лишь режим «Только обсуждение»).
|
|
128
|
-
|
|
129
|
-
Проект самостоятелен и не зависит от соседних папок. Единственная отправная точка — переменные `LLM_*` в `.env`
|
|
130
|
-
(если заданы, при первом запуске создаётся подключение «Из .env»), дальше всё настраивается в интерфейсе.
|
|
131
|
-
|
|
132
|
-
Сертификат GigaChat (НУЦ Минцифры): Node его не знает. Путь к `russian_trusted_root_ca.pem` указывается
|
|
133
|
-
в поле «Сертификат» подключения или в переменной `GIGACHAT_CA_FILE` (действует только для запросов к GigaChat,
|
|
134
|
-
проверка TLS не отключается). Ключ авторизации можно также задать переменной `GIGACHAT_KEY`.
|
|
135
|
-
|
|
136
|
-
## API
|
|
137
|
-
|
|
138
|
-
| Метод | Путь | Описание |
|
|
139
|
-
|-------|------|----------|
|
|
140
|
-
| GET | `/api/config` | Описание настроек, статус ИИ |
|
|
141
|
-
| GET/PUT | `/api/settings`; POST `/api/settings/reset` | Настройки |
|
|
142
|
-
| GET; DELETE | `/api/runs`, `/api/runs/:id`; PUT `/api/runs/:id/title` | Исследования, имена прогонов |
|
|
143
|
-
| POST | `/api/model/research`, `/api/model/:id/cancel`; POST `/api/runs/:id/stability` | Исследование, отмена, проверка устойчивости |
|
|
144
|
-
| GET | `/api/model/forecast` | Прогноз на ближайшие часы |
|
|
145
|
-
| GET; POST | `/api/profiles`, `/api/profiles/refresh` | Описания компаний и «текстовая» карта; принудительное обновление |
|
|
146
|
-
| GET | `/api/news` | Свежие размеченные новости |
|
|
147
|
-
| GET/POST/DELETE | `/api/live/status`, `/api/live/start`, `/api/live/stop`, `/api/live/:id` | Виртуальные счета (несколько параллельно) |
|
|
148
|
-
| GET/POST/PUT/DELETE | `/api/brokers[/:id]`; POST `…/:id/sync|prepare|execute|reject` | Брокерские счета, портфель, заявки |
|
|
149
|
-
| GET/POST | `/api/journal` | Журнал гипотез |
|
|
150
|
-
| GET/POST/PUT/DELETE | `/api/llm/providers[/:id]`, GET `/api/llm/providers/:id/remote-models` | Подключения к моделям ИИ |
|
|
151
|
-
| POST | `/api/llm/test`, `/api/llm/select` | Проверка подключения, выбор модели |
|
|
152
|
-
| GET/POST | `/api/chat`, `/chat/send`, `/chat/action`, `/chat/stop`, `/chat/mode`, `/chat/new` | Стратег |
|
|
153
|
-
| WS | `/ws` | События: ответы и размышления ИИ, прогресс, виртуальные счета, брокеры, новости, описания |
|
|
154
|
-
|
|
155
|
-
## Ограничения
|
|
156
|
-
|
|
157
|
-
- Данные MOEX ISS без подписки приходят с задержкой; для часовых решений некритично.
|
|
158
|
-
- Контрольный период использовался при разработке (выбор порога выгоды), поэтому главная проверка — живая.
|
|
159
|
-
- Позиции на виртуальных счетах дробные (лоты не учитываются). В брокерских заявках лоты и шаг цены учитываются всегда.
|
|
160
|
-
- Брокерские адаптеры (Т-Банк, Финам, Алор, БКС) проверены на тестовом контуре не полностью: форматы ответов брокеров
|
|
161
|
-
меняются, при первой интеграции начните с режима «Только чтение» или песочницы.
|
|
162
|
-
- Исследование с трансформером медленное (~20 минут на год истории): нейросеть учится заново в каждом окне.
|
|
163
|
-
- Описания компаний и разметку новостей делает ИИ — они могут ошибаться. В описания сознательно попадают только
|
|
164
|
-
устойчивые факты (без событий и прогнозов), а новости не используются в проверках на истории — иначе ИИ «подсмотрит будущее».
|
|
165
|
-
|
|
166
|
-
## Правовая информация и лицензия
|
|
167
|
-
|
|
168
|
-
Copyright (c) 2026 Roman A. Perepelkin (Перепелкин Р.А.). Все права защищены.
|
|
169
|
-
Оператор платформы: ООО «БИС» («Бизнес Интер Софт», г. Рязань).
|
|
170
|
-
Проприетарное программное обеспечение ([LICENSE](LICENSE)) — копирование, модификация и распространение без письменного разрешения правообладателя запрещены.
|
|
1
|
+
# НейроАльфа · Облачная PaaS-платформа алгоритмической торговли на Мосбирже (`MOEX`)
|
|
2
|
+
|
|
3
|
+
Платформа **«НейроАльфа»** переносит математическую архитектуру больших языковых моделей (LLM) на поток биржевых котировок Московской биржи (`Рынок как язык`): ~100 акций индекса широкого рынка `MOEXBMI` выступают «токенами» со своими спектральными эмбеддингами (координатами на карте рынка с авто-калибровкой размерности по теореме Марченко–Пастура), недавнее состояние всех акций — «контекстом», а 12-головый механизм внимания предсказывает остаточное (очищенное от индекса `IMOEX`) движение каждой акции на адаптивном мульти-горизонте `1,5–3,5 часа`.
|
|
4
|
+
|
|
5
|
+
Встроенный ИИ-управляющий **«Стратег»** помогает подключить брокерский счёт, объясняет текущие сигналы, анализирует новости и сопровождает портфель.
|
|
6
|
+
|
|
7
|
+
📖 **[Инструкция пользователя](docs/ИНСТРУКЦИЯ.md)** · 📐 **[Механика, математика и параметры системы](docs/МЕХАНИКА_И_ПАРАМЕТРЫ.md)** · 🏦 **[Подключение брокеров (API)](docs/БРОКЕРЫ_API.md)** · 🚀 **[Инструкция по деплою и ЮKassa](docs/ДЕПЛОЙ.md)** (также доступны по кнопке `?` в шапке платформы).
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Быстрый старт (сервер платформы)
|
|
12
|
+
|
|
13
|
+
```powershell
|
|
14
|
+
npm.cmd install
|
|
15
|
+
npm.cmd start
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Веб-терминал открывается по адресу `http://localhost:3000`. Требуется Node.js ≥ 22.13 (встроенный `node:sqlite`). В VS Code запуск выполняется клавишей **F5**.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Архитектура и ключевые механики
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
MOEX ISS: ~100 акций MOEXBMI + IMOEX, 10-минутные свечи + живой радар котировок (каждые 45 сек)
|
|
26
|
+
│
|
|
27
|
+
├─ server/model/dataset.js — SQLite-кэш свечей и дивидендов (v2), обратная корректировка экс-дат со сверкой по реальному ночному гэпу
|
|
28
|
+
│ (учёт перехода T+2 → T+1 с 31.07.2023), 24-часовой суточный профиль объёма (valRatio по часам МСК)
|
|
29
|
+
│
|
|
30
|
+
├─ server/model/models.js — спектральные эмбеддинги с авто-калибровкой размерности по порогу Марченко–Пастура (modelEmbedDim = 0 Авто),
|
|
31
|
+
│ мульти-горизонтная цель (0,6H / 1,0H / 1,4H), 12 голов внимания по 3 масштабам времени (1ч, 3ч, день)
|
|
32
|
+
│
|
|
33
|
+
├─ server/model/research.js — пошаговое Walk-Forward тестирование (окно обучения 90 торговых дней → прогноз 1 месяц → сдвиг, 1000 дней истории):
|
|
34
|
+
│ внутричасовой перехват импульса H/5 (каждые 30 мин), адаптивный выбор числа акций (Dynamic Top-K = 0),
|
|
35
|
+
│ концентрация слота по силе сигнала (Conviction Sizing до 75%), авто-балансировка Long/Short к тренду индекса,
|
|
36
|
+
│ временный карантин убыточных бумаг с амнистией (полураспад ~15 дней). Эталонный результат: >400% годовых (CAGR 419,6%)
|
|
37
|
+
│
|
|
38
|
+
├─ server/model/forecast.js — живой радар прогнозов: обучение весов 1 раз в день + быстрый пересчёт всех масштабов и голов внимания каждые 45 сек
|
|
39
|
+
│
|
|
40
|
+
└─ server/brokers/index.js — прямое подключение 9 российских брокеров (Т-Банк, Финам, БКС, Алор, Цифра брокер, ITI Capital,
|
|
41
|
+
СберИнвестиции, ВТБ, Альфа-Инвестиции), поддержка секций TQBR и SPBRU (SPBE), фильтр доступности шортов
|
|
42
|
+
у брокера (shortEnabledFlag), 3 режима работы (Только чтение / Подтверждение в Telegram и MAX / Автомат)
|
|
43
|
+
и тестовый режим (песочница брокера), двухфазное исполнение ордеров и умная ротация старого портфеля
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Единый интерфейс платформы
|
|
49
|
+
|
|
50
|
+
Правая часть рабочего окна построена вокруг единого левого меню навигации без перегрузки лишними вкладками:
|
|
51
|
+
|
|
52
|
+
1. **Торговля:**
|
|
53
|
+
- **Брокерские счета** *(открывается по умолчанию)* — сворачиваемые карточки счетов с быстрой кнопкой `⏸ Пауза / ▶ Запустить`, встроенными настройками по кнопке `⚙`, переключателем **«Тестовый режим (песочница брокера)»** и четырьмя вкладками внутри счёта: `📦 Состав портфеля` (с расчётом доли владения в капитале эмитента `ISSUESIZE`), `⚡ Торговля и заявки`, `📈 График дохода` и `📜 История счёта` (с агрегацией закрытых сделок и расчётом дневного результата в `₽` и `%`).
|
|
54
|
+
2. **Аналитика рынка:**
|
|
55
|
+
- **Прогноз сейчас** — живой радар ожиданий по 100 акциям Мосбиржи (обновление каждые 45 секунд) с динамикой изменения сигнала и цепочкой влияния соседей.
|
|
56
|
+
- **Новости рынка** — лента новостей и корпоративных раскрытий с ИИ-оценкой тональности и влияния на конкретные тикеры.
|
|
57
|
+
3. **Управление и настройки:**
|
|
58
|
+
- **Эксперименты** *(доступен эксклюзивно в режиме «Хозяин»)* — Walk-Forward проверка ядра и управление витриной.
|
|
59
|
+
- **Издержки и новости** — настройка комиссии брокера, проскальзывания, ставки за шорт и новостного фильтра.
|
|
60
|
+
- **Подписка и уведомления** — управление тарифом, привязка ботов Telegram и MAX для подтверждения заявок в 1 клик.
|
|
61
|
+
- **Модели ИИ** — подключение провайдеров ИИ для Стратега (OpenAI-совместимые, GigaChat с сертификатом НУЦ Минцифры, Ollama).
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Тарифная политика SaaS и режим «Хозяин»
|
|
66
|
+
|
|
67
|
+
| Тариф | Стоимость | Целевая доходность | Направление торговли | Лимит счетов и стартового капитала |
|
|
68
|
+
|---|---|---|---|---|
|
|
69
|
+
| **«Инвестор»** | `3 900 ₽ / мес` | Задавлена **до 60% годовых** | Только в рост (без шорта) | **1 брокерский счёт**, стартовый лимит **до 1 000 000 ₽** (+ 100% реинвестирование всей прибыли) |
|
|
70
|
+
| **«Профи»** | `9 900 ₽ / мес` | Задавлена **до 120% годовых** | В рост и в падение (с шортом) | **До 5 брокерских счетов**, стартовый лимит **до 1 000 000 ₽** на каждом (+ 100% реинвестирование всей прибыли) |
|
|
71
|
+
| **«VIP»** | По индивидуальному согласованию | Задавлена **до 240% годовых** | В рост и в падение (с шортом) | Количество счетов и начальная сумма торговли — **по индивидуальному согласованию** |
|
|
72
|
+
| **Режим «Хозяин» (`owner`)** | Владелец / Администратор | **Без ограничений (>400% годовых)** | Полная мощность ядра (`H/5` + `Conviction Sizing` до 75%) | Без ограничений по счетам и капиталу + эксклюзивный доступ к разделу **«Эксперименты»** |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Правовая информация и лицензия
|
|
77
|
+
|
|
78
|
+
Copyright (c) 2026 Roman A. Perepelkin (Перепелкин Р.А.). Все права защищены.
|
|
79
|
+
Оператор платформы: ООО «БИС» («Бизнес Интер Софт», г. Рязань).
|
|
80
|
+
Проприетарное программное обеспечение ([LICENSE](LICENSE)) — копирование, модификация и распространение без письменного разрешения правообладателя запрещены.
|
package/config/strategy.json
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
"modelHorizon": 2.5,
|
|
5
5
|
"modelMinEdge": 2.5,
|
|
6
6
|
"modelExitRatio": 0.95,
|
|
7
|
-
"modelTopK":
|
|
7
|
+
"modelTopK": 0,
|
|
8
8
|
"modelAllocMode": "equal",
|
|
9
9
|
"modelDirection": "longshort",
|
|
10
10
|
"modelMarketFilter": "off",
|
|
11
11
|
"modelShortFeePct": 20,
|
|
12
12
|
"modelTrainDays": 90,
|
|
13
13
|
"modelHistoryDays": 1000,
|
|
14
|
-
"modelEmbedDim":
|
|
14
|
+
"modelEmbedDim": 0,
|
|
15
15
|
"modelUseDividends": true,
|
|
16
16
|
"modelUseMacro": false,
|
|
17
17
|
"modelTextWeight": 0,
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Подключение брокерских счетов в «НейроАльфе»
|
|
2
|
+
|
|
3
|
+
Платформа «НейроАльфа» поддерживает подключение **9 российских брокеров** для работы с акциями Мосбиржи (`TQBR`). Все токены и ключи доступа шифруются алгоритмом **AES-256-GCM** и никогда не передаются обратно в интерфейс браузера.
|
|
4
|
+
|
|
5
|
+
> **Важное правило безопасности и Оферты:**
|
|
6
|
+
> Запрещается подключать к платформе счета, участвующие в сервисах **автоследования / копирования сделок** (как в роли ведущего стратегии, так и в роли подписчика). Платформа автоматически проверяет счета на признаки автоследования и блокирует торговлю при их обнаружении.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. Т-Банк (`T-Invest API`) — рекомендуется
|
|
11
|
+
|
|
12
|
+
Самый быстрый и функциональный облачный API на российском рынке: поддерживает автопоиск всех ваших субсчетов, проверку маржинальной торговли (`GetMarginAttributes`), проверку доступных лотов (`GetMaxLots`), выписку операций за все годы и выставление лимитных заявок.
|
|
13
|
+
|
|
14
|
+
### Пошаговая инструкция:
|
|
15
|
+
1. Откройте веб-кабинет **Т-Инвестиций** на сайте `https://www.tbank.ru/invest/settings/` (раздел **Настройки → Токены T-Invest API**).
|
|
16
|
+
2. Нажмите **«Выпустить токен»**:
|
|
17
|
+
- Выберите права: **«Полный доступ»** (если хотите отправлять заявки из терминала или в режиме «Автомат») либо «Только чтение».
|
|
18
|
+
- Выберите счета: **«Все счета»** (или конкретный брокерский счёт).
|
|
19
|
+
3. Подтвердите выпуск токена СМС-кодом и скопируйте строку токена (начинается с `t.…`).
|
|
20
|
+
4. В терминале «НейроАльфа» откройте раздел **«Брокерские счета → + Добавить счёт»**:
|
|
21
|
+
- Выберите брокера **«Т-Банк (T-Invest API)»**;
|
|
22
|
+
- Вставьте токен `t.…` в поле **«Токен T-Invest API»**;
|
|
23
|
+
- Нажмите кнопку **«🔍 Найти мои счета по токену»** — выберите нужный субсчёт одной кнопкой.
|
|
24
|
+
5. **Для заработка на падении акций (шорты на тарифах «Профи», «VIP» и в режиме «Хозяин»):**
|
|
25
|
+
- В мобильном приложении Т-Инвестиций зайдите на выбранный счёт → нажмите на **шестерёнку (Настройки счёта)** в правом верхнем углу → включите тумблер **«Маржинальная торговля»**.
|
|
26
|
+
- Если маржинальная торговля выключена (или выбран тариф «Инвестор»), платформа автоматически распознает это и будет вести счёт в безопасном режиме **«Только в рост (без шорта)»**.
|
|
27
|
+
- Платформа автоматически учитывает справочник доступности шортов по каждой бумаге в Т-Банке (`shortEnabledFlag`) и особенности секции `SPBRU` для акций `SPBE` («СПБ Биржа»).
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 2. Финам (`Finam Trade API`)
|
|
32
|
+
|
|
33
|
+
Официальный облачный REST API брокера «Финам» (`https://trade-api.finam.ru`).
|
|
34
|
+
|
|
35
|
+
### Пошаговая инструкция:
|
|
36
|
+
1. Войдите в личный кабинет клиента Финам (`https://edox.finam.ru` / `finam.ru`).
|
|
37
|
+
2. Перейдите в раздел **«Торговля» → «Токены доступа (Finam Trade API)»**.
|
|
38
|
+
3. Нажмите **«Создать новый токен»**, подтвердите выпуск по СМС и скопируйте токен (обычно начинается с `CA…`).
|
|
39
|
+
4. Узнайте ваш **Код клиента (`ClientId`)** для Единого счёта Мосбиржи (отображается в таблице токенов и в терминале FinamTrade, например `123456R` или `КлФ-…`).
|
|
40
|
+
5. В форме добавления счёта в «НейроАльфе» выберите **«Финам (Finam Trade API)»**, вставьте токен `CA…` и укажите `ClientId`.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 3. БКС Мир инвестиций (`BCS Trade API`)
|
|
45
|
+
|
|
46
|
+
Облачный торговый REST API брокера БКС (`https://be.broker.ru`).
|
|
47
|
+
|
|
48
|
+
### Пошаговая инструкция:
|
|
49
|
+
1. Откройте веб-терминал или личный кабинет **«БКС Мир инвестиций»** в браузере.
|
|
50
|
+
2. Перейдите в **Профиль / Настройки → «Торговый API (BCS Trade API)»**.
|
|
51
|
+
3. Выпустите токен с правом **«Чтение и торговля»** (`trade-api-write`).
|
|
52
|
+
4. Скопируйте полученный **Refresh-токен** и вставьте его в поле «Refresh-токен БКС Trade API» в «НейроАльфе». Платформа сама обменивает его на сессионный JWT-ключ при каждом запросе.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 4. Алор Брокер (`Alor OpenAPI v2`)
|
|
57
|
+
|
|
58
|
+
Профессиональный облачный интерфейс Алор Брокера (`https://api.alor.ru`).
|
|
59
|
+
|
|
60
|
+
### Пошаговая инструкция:
|
|
61
|
+
1. Авторизуйтесь под вашей брокерской учётной записью на портале разработчика **`https://alor.dev`** (или через кабинет `my.alor.ru` → раздел **OpenAPI**).
|
|
62
|
+
2. Выпустите **Refresh Token** для боевого контура Мосбиржи.
|
|
63
|
+
3. В поле **«Фондовый портфель Мосбиржи»** укажите ваш портфель с литерой `D` (например, `D39004`).
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 5. Цифра брокер (`Tradernet API v2`)
|
|
68
|
+
|
|
69
|
+
Облачный REST API платформы Tradernet («Цифра брокер» / бывш. ИК «Фридом Финанс», `https://tradernet.ru`).
|
|
70
|
+
|
|
71
|
+
### Пошаговая инструкция:
|
|
72
|
+
1. Войдите в веб-кабинет **`https://tradernet.ru`** → откройте **Настройки профиля → «API ключи»**.
|
|
73
|
+
2. Нажмите **«Создать ключи API»** — система выдаст два ключа: **Public Key** (публичный) и **Secret Key** (секретный).
|
|
74
|
+
3. В «НейроАльфе» выберите **«Цифра брокер (Tradernet API)»** и вставьте оба ключа в поле токена **через двоеточие без пробелов**:
|
|
75
|
+
`PublicKey:SecretKey`.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 6. ITI Capital (`OpenAPI`)
|
|
80
|
+
|
|
81
|
+
Алго-брокер с поддержкой протокола OpenAPI (`https://api.iticapital.ru`).
|
|
82
|
+
|
|
83
|
+
### Пошаговая инструкция:
|
|
84
|
+
1. В личном кабинете клиента **ITI Capital** перейдите в раздел **«Торговые системы → OpenAPI»** и выпустите **Refresh Token**.
|
|
85
|
+
2. Вставьте Refresh-токен в «НейроАльфу» и укажите ваш фондовый портфель Мосбиржи вида `BP12345`.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 7. СберИнвестиции (Сбербанк), ВТБ Мои Инвестиции и Альфа-Инвестиции
|
|
90
|
+
|
|
91
|
+
У розничных подразделений **СберИнвестиций**, **ВТБ** и **Альфа-Инвестиций** нет публичного облачного REST-токена для физлиц (алготорговля у этих брокеров предоставляется через десктопный терминал **QUIK**).
|
|
92
|
+
|
|
93
|
+
В «НейроАльфе» для клиентов **Сбера, ВТБ и Альфы** предусмотрены **два удобных режима работы**:
|
|
94
|
+
|
|
95
|
+
1. **Режим «Подтверждение заявок» через Telegram / MAX (рекомендуется, работает без QUIK):**
|
|
96
|
+
- При добавлении счёта выберите **«СберИнвестиции»** (или ВТБ / Альфа-Инвестиции), **оставьте поле адреса моста QUIK пустым**, укажите номер счёта и ваш **Лимит суммы на стратегию** (например, `100 000 ₽`).
|
|
97
|
+
- В начале каждого торгового шага платформа автоматически рассчитывает точный пакет лимитных заявок в лотах Мосбиржи под ваш баланс и присылает уведомление в **Telegram / MAX** и во вкладку **«⚡ Торговля и заявки»**.
|
|
98
|
+
- Вы выставляете указанные заявки в мобильном приложении СберИнвестиций / ВТБ / Альфы и нажимаете кнопку **«Исполнить заявки»** в терминале (или в боте) — платформа автоматически обновляет состав бумаг и остаток рублей в карточке вашего счёта.
|
|
99
|
+
2. **Автоматический режим через локальный HTTP-мост QUIK:**
|
|
100
|
+
- Если у вас запущен терминал QUIK Сбербанка / ВТБ с локальным HTTP REST-шлюзом (`QuikHttpBridge`), укажите его адрес (`http://127.0.0.1:8080` или адрес вашего сервера) в поле **«Адрес моста QUIK»** — тогда чтение портфеля и отправка лимитных заявок будут выполняться автоматически.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 8. Можно ли торговать напрямую через Мосбиржу без брокера (DMA / MOEX ISS / FIX)?
|
|
105
|
+
|
|
106
|
+
Этот вопрос часто возникает у трейдеров и корпоративных клиентов. Важно разделять **получение биржевых данных** и **исполнение сделок в стакане**:
|
|
107
|
+
|
|
108
|
+
1. **Рыночные данные и котировки «НейроАльфа» уже получает напрямую с Мосбиржи (без брокеров):**
|
|
109
|
+
- Все 10-минутные свечи 99 акций индекса широкого рынка, живые котировки `LAST / MARKETPRICE` (обновление каждые 45 секунд), размеры лотов (`LOTSIZE`), минимальный шаг цены (`MINSTEP`) и календарь дивидендов загружаются платформой **напрямую из ядра Московской биржи (`iss.moex.com` / `MOEX ISS`)**.
|
|
110
|
+
- Поэтому обучение моделей, карта рынка, живой радар прогнозов и виртуальные счета работают полностью независимо от брокеров.
|
|
111
|
+
|
|
112
|
+
2. **Почему для реальных сделок с акциями (`TQBR`) обязательно нужен лицензированный брокер:**
|
|
113
|
+
- По российскому законодательству (**ФЗ № 39-ФЗ «О рынке ценных бумаг»** и **ФЗ № 325-ФЗ «Об организованных торгах»**) прямой клиринговый допуск к фондовому рынку акций Мосбиржи (`TQBR`) имеют только профессиональные участники рынка ценных бумаг с лицензией Банка России и взносом в гарантийный фонд НКЦ.
|
|
114
|
+
- Частный инвестор или обычное юридическое лицо подаёт заявки в торговое ядро Мосбиржи через свой счёт у лицензированного брокера (деньги и акции при этом хранятся на вашем именном счёте в НРД / у брокера).
|
|
115
|
+
|
|
116
|
+
3. **Прямой доступ к ядру биржи (DMA — Direct Market Access / MOEX FIX / ASTS Bridge):**
|
|
117
|
+
- Для крупных алготрейдеров и институциональных клиентов (тариф **«VIP»**), у которых у брокера (Алор, Финам, ITI Capital, БКС) подключена услуга прямого биржевого шлюза **DMA (протоколы MOEX FIX / FAST или ASTS Bridge)**, «НейроАльфа» поддерживает подключение через локальный HTTP-мост (`http://ip:port/orders`).
|
|
118
|
+
- При этом для горизонта стратегии **2,5 часа** (с проверкой импульса каждые **30 минут** и выставлением лимитных заявок с защитным отступом `0,1%`) стандартные бесплатные облачные REST API **Т-Банка, Финама, БКС, Алора, Цифры и ITI Capital** (отклик `50–120 мс`) обеспечивают точно такую же цену исполнения без абонентской платы за выделенный FIX-шлюз.
|
|
119
|
+
|
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
# Пошаговая инструкция по запуску (Деплою)
|
|
1
|
+
# Пошаговая инструкция по запуску облачной платформы (Деплою) и ЮKassa
|
|
2
2
|
|
|
3
|
-
Эта инструкция написана простым языком для запуска вашего коммерческого облачного
|
|
3
|
+
Эта инструкция написана простым языком для запуска вашего коммерческого облачного PaaS-портала «НейроАльфа» с нуля: от покупки домена до приёма платежей через ЮKassa и управления тарифами пользователей.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
## 1.
|
|
7
|
+
## 1. Архитектура облачного портала и тарифы
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
1
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
2. **Два режима работы для вашего клиента**:
|
|
17
|
-
* **Вариант А — Прямо в браузере на вашем сайте:** клиент нажимает «Открыть веб-терминал» и пользуется платформой онлайн.
|
|
18
|
-
* **Вариант Б — На своём компьютере через `npx`:** клиент открывает у себя командную строку и запускает:
|
|
19
|
-
```bash
|
|
20
|
-
npx neuroalpha --key na_live_его_ключ --cloud https://ваш-домен.ru
|
|
21
|
-
```
|
|
22
|
-
Его локальная программа связывается с вашим сайтом по этому ключу, проверяет оплаченную подписку, включает тариф («Инвестор» или «Профи») и автоматически использует ИИ-Стратега вашего сервера, при этом **ключи от его брокера (Т-Банк, БКС, Финам, Алор) хранятся только на его личном компьютере**.
|
|
9
|
+
1. **Ваш Облачный Портал (`https://ваш-домен.ru`)**:
|
|
10
|
+
* На главной странице открывается продающий **лендинг** с живой витриной стратегий и тремя коммерческими тарифами:
|
|
11
|
+
* **«Инвестор» (`3 900 ₽ / мес`)** — задавленная доходность до 60% годовых, без шортов, 1 брокерский счёт со стартовым лимитом до 1 000 000 ₽ (+ 100% реинвестирование всей прибыли);
|
|
12
|
+
* **«Профи» (`9 900 ₽ / мес`)** — задавленная доходность до 120% годовых, с шортами, до 5 брокерских счетов со стартовым лимитом до 1 000 000 ₽ на каждом (+ 100% реинвестирование всей прибыли);
|
|
13
|
+
* **«VIP» (по индивидуальному согласованию)** — задавленная доходность до 240% годовых, с шортами, количество счетов и начальная сумма торговли по согласованию (активируется персональным `VIP-…` токеном от администратора).
|
|
14
|
+
* Посетитель регистрируется, принимает Публичную оферту и оплачивает тариф картой МИР или через СБП (ЮKassa), после чего подключает свои брокерские счета прямо в облачном веб-терминале (включая возможность безопасной проверки на песочнице брокера или в режиме «Только чтение»).
|
|
15
|
+
* Для владельца / администратора платформы действует режим **«Хозяин» (`owner`)** — без ограничений по доходности (>400% годовых), числу счетов и сумме капитала, а также с эксклюзивным доступом к разделу **«Эксперименты»** и консоли администратора `/admin`.
|
|
23
16
|
|
|
24
17
|
---
|
|
25
18
|
|