# traderhub_tradeanalytica
`traderhub_tradeanalytica` — это библиотека Python для тестирования торговых стратегий на исторических данных и анализа рыночных условий.
## Основные возможности
- **BacktestStrategyProcessor**: Проверка стратегий на исторических данных.
- **ConditionChecker**: Проверка условий торговых стратегий.
- **CONDITIONS_GROUPS и GROUP_MODELS_MAP**: Справочники групп инструментов, используемых в стратегиях (индикаторы, свечи, свечные паттерны, геометрические паттерны).
## Установка
Вы можете установить библиотеку с помощью pip:
```bash
pip install traderhub_tradeanalytica
```
# Использование
1. Проверка стратегий на исторических данных
Для использования BacktestStrategyProcessor:
```python
from traderhub_tradeanalytica import BacktestStrategyProcessor
# Инициализация процессора для тестирования стратегии
processor = BacktestStrategyProcessor(data, strategy, trend_type)
processor.process_strategy()
```
data — исторические данные (например, OHLCV).
strategy — торговая стратегия, содержащая условия для входа и выхода.
trend_type — тип тренда (например, "buy" или "sell").
2. Проверка условий по стратегиям
Для использования ConditionChecker:
```python
from traderhub_tradeanalytica import ConditionChecker
# Инициализация чекера для проверки условий
checker = ConditionChecker(current_candle, candles, ask, bid, point)
# Пример вызова метода для проверки условия
result = checker.check_condition(...)
```
current_candle — текущая свеча.
candles — массив предыдущих свечей.
ask и bid — текущие значения спроса и предложения.
point — минимальное изменение цены (тик).
3. Справочники групп инструментов для стратегий
Для использования справочников:
```python
from traderhub_tradeanalytica import CONDITIONS_GROUPS, GROUP_MODELS_MAP
# Получение справочников групп инструментов
print(CONDITIONS_GROUPS)
print(GROUP_MODELS_MAP)
```
CONDITIONS_GROUPS: Содержит информацию о доступных группах инструментов (индикаторы, свечи, свечные паттерны, геометрические паттерны).
GROUP_MODELS_MAP: Маппинг моделей для каждой группы инструментов.
# Зависимости
Библиотека использует следующие зависимости:
requests>=2.25.1
pandas>=2.2.2
TA-Lib-Precompiled>=0.4.25
numpy>=1.24.2,<1.26.0
pandas_ta>=0.3.14b
sortedcontainers
# Вклад
Мы приветствуем вклад сообщества в развитие библиотеки! Пожалуйста, создавайте issues и pull requests в этом репозитории.
# Лицензия
Эта библиотека распространяется под MIT License.
Raw data
{
"_id": null,
"home_page": "https://github.com/single-service/traderhub-tradeanalytica-lib",
"name": "traderhub-tradeanalytica",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "trade analytica backtesting traderhub",
"author": "DmitriySosedov",
"author_email": "d.i.sosedov@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/50/8e/b266d1b69ae5f58d9dd27c26f4c67f51390a4139f25e5ad122d63b8f25c2/traderhub_tradeanalytica-0.1.6.tar.gz",
"platform": null,
"description": "# traderhub_tradeanalytica\n\n`traderhub_tradeanalytica` \u2014 \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Python \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439 \u043d\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u044b\u043d\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439.\n\n## \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\n\n- **BacktestStrategyProcessor**: \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439 \u043d\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.\n- **ConditionChecker**: \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0445 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439.\n- **CONDITIONS_GROUPS \u0438 GROUP_MODELS_MAP**: \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0438 \u0433\u0440\u0443\u043f\u043f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f\u0445 (\u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u044b, \u0441\u0432\u0435\u0447\u0438, \u0441\u0432\u0435\u0447\u043d\u044b\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b, \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b).\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip:\n\n```bash\npip install traderhub_tradeanalytica\n```\n\n# \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n1. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439 \u043d\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445\n\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f BacktestStrategyProcessor:\n\n```python\nfrom traderhub_tradeanalytica import BacktestStrategyProcessor\n\n# \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438\nprocessor = BacktestStrategyProcessor(data, strategy, trend_type)\nprocessor.process_strategy()\n```\ndata \u2014 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, OHLCV).\nstrategy \u2014 \u0442\u043e\u0440\u0433\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u0438 \u0432\u044b\u0445\u043e\u0434\u0430.\ntrend_type \u2014 \u0442\u0438\u043f \u0442\u0440\u0435\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \"buy\" \u0438\u043b\u0438 \"sell\").\n\n2. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u043f\u043e \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f\u043c\n\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f ConditionChecker:\n\n```python\nfrom traderhub_tradeanalytica import ConditionChecker\n\n# \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0435\u043a\u0435\u0440\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439\nchecker = ConditionChecker(current_candle, candles, ask, bid, point)\n\n# \u041f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0437\u043e\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\nresult = checker.check_condition(...)\n```\ncurrent_candle \u2014 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u0432\u0435\u0447\u0430.\ncandles \u2014 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0432\u0435\u0447\u0435\u0439.\nask \u0438 bid \u2014 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0440\u043e\u0441\u0430 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\npoint \u2014 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0446\u0435\u043d\u044b (\u0442\u0438\u043a).\n3. \u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u0438 \u0433\u0440\u0443\u043f\u043f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0439\n\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432:\n\n```python\nfrom traderhub_tradeanalytica import CONDITIONS_GROUPS, GROUP_MODELS_MAP\n\n# \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0433\u0440\u0443\u043f\u043f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432\nprint(CONDITIONS_GROUPS)\nprint(GROUP_MODELS_MAP)\n```\nCONDITIONS_GROUPS: \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f\u0430\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (\u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u044b, \u0441\u0432\u0435\u0447\u0438, \u0441\u0432\u0435\u0447\u043d\u044b\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b, \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b).\nGROUP_MODELS_MAP: \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.\n\n# \u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:\n\nrequests>=2.25.1\npandas>=2.2.2\nTA-Lib-Precompiled>=0.4.25\nnumpy>=1.24.2,<1.26.0\npandas_ta>=0.3.14b\nsortedcontainers\n\n# \u0412\u043a\u043b\u0430\u0434\n\u041c\u044b \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u0432\u043a\u043b\u0430\u0434 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438! \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 issues \u0438 pull requests \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438.\n\n# \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\n\u042d\u0442\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 MIT License.\n",
"bugtrack_url": null,
"license": null,
"summary": "TraderHub library for trade strategy analyse",
"version": "0.1.6",
"project_urls": {
"GitHub": "https://github.com/single-service/traderhub-tradeanalytica-lib",
"Homepage": "https://github.com/single-service/traderhub-tradeanalytica-lib"
},
"split_keywords": [
"trade",
"analytica",
"backtesting",
"traderhub"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b9e330c335d0f84292a0c3e295afc36e92b3a2e216ce12dd9bd131408ba9a446",
"md5": "40a42d05ed0ac6647dc19e6eeae23c23",
"sha256": "6afaef3a51230197c3d74cc173377bcb188b0f117a2a9d6fb1ba8e0fbc00c487"
},
"downloads": -1,
"filename": "traderhub_tradeanalytica-0.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "40a42d05ed0ac6647dc19e6eeae23c23",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 28190,
"upload_time": "2024-09-20T08:21:35",
"upload_time_iso_8601": "2024-09-20T08:21:35.832587Z",
"url": "https://files.pythonhosted.org/packages/b9/e3/30c335d0f84292a0c3e295afc36e92b3a2e216ce12dd9bd131408ba9a446/traderhub_tradeanalytica-0.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "508eb266d1b69ae5f58d9dd27c26f4c67f51390a4139f25e5ad122d63b8f25c2",
"md5": "4f1e0b0d36ccd86048048214d9a21d21",
"sha256": "1e636a947457c0b43604c2811bcd0b56d33439942964256758ea65b7defb2088"
},
"downloads": -1,
"filename": "traderhub_tradeanalytica-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "4f1e0b0d36ccd86048048214d9a21d21",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 22298,
"upload_time": "2024-09-20T08:21:36",
"upload_time_iso_8601": "2024-09-20T08:21:36.907635Z",
"url": "https://files.pythonhosted.org/packages/50/8e/b266d1b69ae5f58d9dd27c26f4c67f51390a4139f25e5ad122d63b8f25c2/traderhub_tradeanalytica-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-20 08:21:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "single-service",
"github_project": "traderhub-tradeanalytica-lib",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "traderhub-tradeanalytica"
}