{"id":13532722,"url":"https://github.com/gbeced/basana","last_synced_at":"2025-04-01T21:30:51.037Z","repository":{"id":104583988,"uuid":"609367611","full_name":"gbeced/basana","owner":"gbeced","description":"A Python async and event driven framework for algorithmic trading, with a focus on crypto currencies.","archived":false,"fork":false,"pushed_at":"2025-02-18T02:19:04.000Z","size":1570,"stargazers_count":685,"open_issues_count":1,"forks_count":89,"subscribers_count":16,"default_branch":"develop","last_synced_at":"2025-03-18T06:54:08.218Z","etag":null,"topics":["algorithmic-trading","asyncio","backtesting","binance","cryptocurrency","trading-algorithms","trading-bot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gbeced.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-04T01:03:17.000Z","updated_at":"2025-03-17T22:19:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"bbfa57d5-66f9-4be1-a6b3-3583dc8dc28c","html_url":"https://github.com/gbeced/basana","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":0.1923076923076923,"last_synced_commit":"6386262e340bcf4cbc68bb5ef8256b32e56be1af"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbeced%2Fbasana","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbeced%2Fbasana/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbeced%2Fbasana/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbeced%2Fbasana/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gbeced","download_url":"https://codeload.github.com/gbeced/basana/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246712944,"owners_count":20821821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithmic-trading","asyncio","backtesting","binance","cryptocurrency","trading-algorithms","trading-bot"],"created_at":"2024-08-01T07:01:13.220Z","updated_at":"2025-04-01T21:30:51.028Z","avatar_url":"https://github.com/gbeced.png","language":"Python","funding_links":[],"categories":["Python","Backtest + live trading"],"sub_categories":["Trading \u0026 Backtesting","Crypto currency focus","交易与回测"],"readme":"[![Testcases](https://github.com/gbeced/basana/actions/workflows/runtests.yml/badge.svg?branch=master)](https://github.com/gbeced/basana/actions/workflows/runtests.yml)\n[![PyPI version](https://badge.fury.io/py/basana.svg)](https://badge.fury.io/py/basana)\n[![Read The Docs](https://readthedocs.org/projects/basana/badge/?version=latest)](https://basana.readthedocs.io/en/latest/)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Downloads](https://static.pepy.tech/badge/basana/month)](https://pepy.tech/project/basana)\n\n# Basana\n\n**Basana** is a Python **async and event driven** framework for **algorithmic trading**, with a focus on **crypto currencies**.\n\n## Key Features\n\n* Backtesting exchange so you can try your trading strategies before using real funds.\n* Live trading at [Binance](https://www.binance.com/) and [Bitstamp](https://www.bitstamp.net/) crypto currency exchanges.\n* Asynchronous I/O and event driven.\n\n## Getting Started\n\n### Installation\n\nThe examples use [TALIpp](https://github.com/nardew/talipp) for the technical indicators, pandas and statsmodels.\n\n```\n$ pip install basana[charts] talipp pandas statsmodels\n```\n\n### Backtest a pairs trading strategy\n\n1.  Download and unzip [samples](https://github.com/gbeced/basana/releases/download/1.7/samples.zip).\n\n2. Download historical data for backtesting\n\n\t```\n\t$ python -m basana.external.binance.tools.download_bars -c BCH/USDT -p 1h -s 2021-12-01 -e 2021-12-26 -o binance_bchusdt_hourly.csv\n\t$ python -m basana.external.binance.tools.download_bars -c CVC/USDT -p 1h -s 2021-12-01 -e 2021-12-26 -o binance_cvcusdt_hourly.csv\n\t```\n\n3. Run the backtest\n\n\t```\n\t$ python -m samples.backtest_pairs_trading\n\t```\n\n![./docs/_static/readme_pairs_trading.png](./docs/_static/readme_pairs_trading.png)\n\nThe Basana repository comes with a number of [examples](./samples) you can experiment with or use as a template for your own projects:\n\n**Note that these examples are provided for educational purposes only. Use at your own risk.**\n\n## Documentation\n\n[https://basana.readthedocs.io/en/latest/](https://basana.readthedocs.io/en/latest/)\n\n## Help\n\nYou can seek help with using Basana in the discussion area on [GitHub](https://github.com/gbeced/basana/discussions).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbeced%2Fbasana","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgbeced%2Fbasana","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbeced%2Fbasana/lists"}