neuroalpha 0.3.15 → 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 CHANGED
@@ -1,170 +1,80 @@
1
- # Рынок как язык · MOEX
2
-
3
- Исследование идеи: акции — «токены» со своими эмбеддингами (место на карте рынка по совместным движениям),
4
- недавнее состояние ~100 акций индекса MOEXBMI — «контекст», модель предсказывает «следующее состояние» —
5
- остаточное (без рынка) движение каждой акции на H часов вперёд. Над системой работает ИИ-исследователь «Стратег» (Qwen),
6
- который ставит эксперименты, ведёт журнал гипотез и разбирает живую проверку. Только виртуальные деньги.
7
-
8
- 📖 **[Инструкция пользователя](docs/ИНСТРУКЦИЯ.md)** · 📐 **[Механика, математика и параметры системы](docs/МЕХАНИКА_И_ПАРАМЕТРЫ.md)** · 🚀 **[Инструкция по деплою и ЮKassa](docs/ДЕПЛОЙ.md)** (также доступны по кнопке «?» в программе).
9
-
10
- ## Запуск
11
-
12
- ```powershell
13
- npm.cmd install
14
- npm.cmd start
15
- ```
16
-
17
- Клиент: http://localhost:3000. Нужен Node.js ≥ 22.13 (встроенный `node:sqlite`). В VS Code — **F5**, браузер откроется сам.
18
- В PowerShell используйте `npm.cmd` (`npm.ps1` блокируется политикой выполнения скриптов).
19
- Зависимости: `express`, `ws`; `@tensorflow/tfjs` и `@tensorflow/tfjs-backend-wasm` — только для трансформера (загружаются лениво).
20
-
21
- ## Как устроено
22
-
23
- ```
24
- MOEX ISS: ~100 акций MOEXBMI + IMOEX, свечи по 10 минут (будни) ──► SQLite-кэш ──► model/dataset.js (N×T, open/close, обороты)
25
- dataset.js: при modelUseDividends (по умолчанию да) цены скорректированы на дивиденды — обратная корректировка по экс-датам
26
- (полная доходность; экс-дата: T+1 с 31.07.2023, раньше T+2). Источник неточен (дубли, прогнозные строки, сдвиги дат), поэтому
27
- дата сверяется с ночным разрывом цены (±2 дня, дивиденд ≥1%; мелкие — только в расчётный день, <0,5% не корректируются);
28
- если подходящего падения нет, дивиденд пропускается. Версия обработки данных DATA_VERSION в research.js (старые прогоны не «дубликаты»). Дивиденды — data/moex.js: ISS, запасной источник — smart-lab, кэш в kv на сутки.
29
- При modelUseMacro — макро-ряды: нефть Brent (склейка фьючерсов: каждый день — контракт с наибольшим оборотом,
30
- стык без скачка цены), золото, юань, доллар, индекс гособлигаций (RGBI)
31
- │
32
- ├─ model/research.js — пошаговая проверка: окно обучения 120 дн. → прогноз месяц → сдвиг (~27 шагов за 2 года)
33
- │ model/models.js:
34
- │ ├─ бета к рынку и размах — по окну обучения; остаточные z-движения; признаки: цена и «денежный поток» × 3 масштаба;
35
- │ │ цель — open(t+1)→open(t+1+H) без рынка (исполнение по цене открытия следующей свечи)
36
- │ ├─ эмбеддинги: собственные векторы корреляций остаточных движений (Якоби), карта 2D + k-means;
37
- │ │ при modelTextWeight > 0 близость смешивается с похожестью профилей компаний (model/profiles.js)
38
- │ ├─ макро-головы (modelUseMacro): бета остатков акции к макро × z-движения макро × 3 масштаба
39
- │ ├─ «своя инерция» (сводная регрессия по своим движениям)
40
- │ ├─ «кто за кем ходит» (гребневая регрессия N×2N, λ по валидации)
41
- │ └─ «внимание через карту»: 12 голов softmax(β·cos(e_i,e_j)) × признаки соседей + макро-головы
42
- │ model/transformer.js — 4-я модель (modelUseTransformer или modelType = transformer): энкодер с вниманием
43
- │ МЕЖДУ акциями — каждая акция «токен»; TensorFlow.js + WASM (ленивая загрузка); учится заново в каждом окне,
44
- │ окна — параллельно в рабочих потоках или на видеокарте (см. «Трансформер: потоки и видеокарта»)
45
- │ model/profiles.js — 20 устойчивых признаков бизнеса компании от ИИ (обновление раз в 30 дней; только факты
46
- │ «вне времени» — без новостей и прогнозов, иначе ИИ «подсмотрит будущее»); «текстовая» карта: главные компоненты + k-means
47
- │ портфель: modelAutoAdapt (по умолчанию вкл.) — самообучение правил торговли (авто-калибровка порога выхода под реальную
48
- │ комиссию на скользящем окне + автоматический карантин систематически убыточных «акций-убийц»); modelDirection — только
49
- │ покупки / покупки и продажи / нейтрально к рынку; плата за заём акций — modelShortFeePct; ручные настройки:
50
- │ modelExitRatio, modelAllocMode (поровну / обратно размаху акции), modelMarketFilter; устойчивость —
51
- │ быстрые сдвиги входа в каждом прогоне + startStabilityCheck (5 сдвигов периода −8…+8 дней с прогрессом и отменой)
52
- │ метрики: ранговая корреляция прогноза с фактом (ликвидные), доля недель с плюсом, портфель top-K с порогом
53
- │ выгоды, с комиссиями и без, рынок; период настройки / контрольный (70/30)
54
- ├─ model/forecast.js — прогноз по последней свече + вклад соседей + веса «обратно размаху» для расчёта долей
55
- └─ model/live.js — виртуальные счета (до 5 параллельно): настройки замораживаются при запуске, счёт «из прогона»
56
- сверяется с коридором истории; каждую свечу оценка, раз в H свечей прогноз и пересмотр портфеля;
57
- newsFilter — не входить против важной свежей новости
58
-
59
- Брокеры (brokers/index.js): Т-Банк (T-Invest API), Финам (Trade API), Алор (OpenAPI), БКС — REST-адаптеры портфеля и заявок;
60
- справочник лотности и шага цены Мосбиржи (TQBR, кэш на сутки) — заявки в целых лотах с округлением лимитной цены;
61
- 3 режима счёта: только чтение / подтверждение заявок / автомат (лимитные заявки); жёсткие предохранители: лимит суммы на
62
- стратегию, дневной стоп по просадке, отступ лимитки, пропуск первых/последних 10 минут сессии. Токены — только в локальной SQLite.
63
-
64
- Новости (news/index.js): RSS Интерфакса, РБК, Прайма, ТАСС + новости Мосбиржи → дешёвый фильтр по названиям компаний
65
- и экономическим словам → разметка ИИ (каких акций касается, тон −1…+1, важность, суть); во время торгов опрос раз в 10 минут,
66
- хранение 14 дней. Только для прогноза и живой проверки: истории новостей нет, и ИИ, знающий настоящее, исказил бы проверку
67
- на истории. Инструмент Стратега — get_news.
68
-
69
- Стратег (strategist/): цикл агента со стримингом (SSE) и вызовом функций; режимы обсуждение / с согласия / автопилот;
70
- журнал гипотез — память; защита от подгонки (только период настройки, контрольный — final_check ≤ 3 раз, сравнение с базой).
71
- ```
72
-
73
- Ядро модели — чистый JavaScript без зависимостей (`model/linalg.js`: собственные векторы, Холецкий, Спирмен, k-средних).
74
- Единственная «тяжёлая» зависимость — трансформер: TensorFlow.js с WASM-бэкендом, загружается только когда он включён.
75
-
76
- ## Трансформер: потоки и видеокарта
77
-
78
- Окна пошаговой проверки независимы, поэтому трансформер разных окон обучается одновременно (`transformerParallel`, по умолчанию
79
- включено): главный поток строит окна и считает базовые модели, а в рабочие потоки (`worker_threads`) уходят только нужные
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` | Брокерские счета (Т-Банк, Финам, БКС, Алор, Цифра брокер, ITI Capital, СберИнвестиции, ВТБ, Альфа-Инвестиции + DMA/QUIK-мост); лоты и шаг цены Мосбиржи; предохранители |
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)) — копирование, модификация и распространение без письменного разрешения правообладателя запрещены.
@@ -4,14 +4,14 @@
4
4
  "modelHorizon": 2.5,
5
5
  "modelMinEdge": 2.5,
6
6
  "modelExitRatio": 0.95,
7
- "modelTopK": 2,
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": 11,
14
+ "modelEmbedDim": 0,
15
15
  "modelUseDividends": true,
16
16
  "modelUseMacro": false,
17
17
  "modelTextWeight": 0,
@@ -17,13 +17,14 @@
17
17
  - Выберите права: **«Полный доступ»** (если хотите отправлять заявки из терминала или в режиме «Автомат») либо «Только чтение».
18
18
  - Выберите счета: **«Все счета»** (или конкретный брокерский счёт).
19
19
  3. Подтвердите выпуск токена СМС-кодом и скопируйте строку токена (начинается с `t.…`).
20
- 4. В терминале «НейроАльфа» откройте **«Настройки → Брокерские счета → Добавить брокерский счёт»**:
20
+ 4. В терминале «НейроАльфа» откройте раздел **«Брокерские счета → + Добавить счёт»**:
21
21
  - Выберите брокера **«Т-Банк (T-Invest API)»**;
22
22
  - Вставьте токен `t.…` в поле **«Токен T-Invest API»**;
23
23
  - Нажмите кнопку **«🔍 Найти мои счета по токену»** — выберите нужный субсчёт одной кнопкой.
24
- 5. **Для заработка на падении акций (шорты на тарифах «Профи» и «VIP»):**
24
+ 5. **Для заработка на падении акций (шорты на тарифах «Профи», «VIP» и в режиме «Хозяин»):**
25
25
  - В мобильном приложении Т-Инвестиций зайдите на выбранный счёт → нажмите на **шестерёнку (Настройки счёта)** в правом верхнем углу → включите тумблер **«Маржинальная торговля»**.
26
- - Если маржинальная торговля выключена, платформа автоматически распознает это и будет вести счёт в безопасном режиме **«Только в рост (без шорта)»**.
26
+ - Если маржинальная торговля выключена (или выбран тариф «Инвестор»), платформа автоматически распознает это и будет вести счёт в безопасном режиме **«Только в рост (без шорта)»**.
27
+ - Платформа автоматически учитывает справочник доступности шортов по каждой бумаге в Т-Банке (`shortEnabledFlag`) и особенности секции `SPBRU` для акций `SPBE` («СПБ Биржа»).
27
28
 
28
29
  ---
29
30
 
@@ -1,25 +1,18 @@
1
- # Пошаговая инструкция по запуску (Деплою), ЮKassa и `npx`
1
+ # Пошаговая инструкция по запуску облачной платформы (Деплою) и ЮKassa
2
2
 
3
- Эта инструкция написана простым языком для запуска вашего коммерческого облачного сайта «НейроАльфа» с нуля: от покупки домена до приёма платежей через ЮKassa и раздачи ключей `APIKey` пользователям.
3
+ Эта инструкция написана простым языком для запуска вашего коммерческого облачного PaaS-портала «НейроАльфа» с нуля: от покупки домена до приёма платежей через ЮKassa и управления тарифами пользователей.
4
4
 
5
5
  ---
6
6
 
7
- ## 1. Как связаны между собой Сайт, ЮKassa и `npx neuroalpha`
7
+ ## 1. Архитектура облачного портала и тарифы
8
8
 
9
- У вашей платформы **гибридная архитектура** (как у современных облачных сервисов):
10
-
11
- 1. **Ваш Облачный Сайт (`https://ваш-домен.ru`)**:
12
- * На главной странице открывается продающий **лендинг** с живой витриной стратегий и тарифами (`3 900 ₽` и `9 900 ₽`).
13
- * Посетитель нажимает **«Попробовать бесплатно»** или **«Оформить подписку»**, регистрируется и оплачивает тариф картой МИР или через СБП (ЮKassa).
14
- * В личном кабинете на сайте пользователь получает свой персональный **`APIKey` (`na_live_...`)**.
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