├── .flake8 ├── .gitignore ├── .mypy.ini ├── .pre-commit-config.yaml ├── .pylintrc ├── LICENSE ├── README.md ├── README_CN.md ├── _logs └── _touch ├── backtest └── __init__.py ├── basis_alpha ├── __init__.py ├── asgi.py ├── config.py ├── instrument_info.py ├── settings.py ├── urls.py └── wsgi.py ├── clients ├── __init__.py ├── base.py ├── formatters │ ├── factory.py │ ├── local.py │ └── okex.py └── okex │ ├── common.py │ ├── config.py │ ├── http.py │ └── ws.py ├── common ├── capacity.py ├── common.py ├── okx_common.py └── topic.py ├── data_source ├── __init__.py ├── admin.py ├── apps.py ├── exchange_info.py ├── management │ └── commands │ │ ├── __init__.py │ │ └── start_okx_future_spot_spider.py ├── migrations │ └── __init__.py ├── models.py ├── orderbook_manager.py ├── spiders │ ├── __init__.py │ ├── base_spider.py │ ├── data_type.py │ ├── http_client.py │ ├── okex_spider.py │ └── okx_config.py ├── tests.py └── views.py ├── images ├── img.png ├── img_1.png └── order.png ├── manage.py ├── requirements-dev.txt ├── requirements.txt ├── runtime.txt ├── static └── .gitkeep ├── staticfiles └── .gitkeep ├── strategy ├── __init__.py ├── admin.py ├── apps.py ├── management │ └── commands │ │ ├── __init__.py │ │ └── start_strategy.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_rename_passphrase_account_api_passphrase_and_more.py │ ├── 0003_alter_strategy_options_alter_strategy_max_close_rate_and_more.py │ ├── 0004_alter_strategy_max_close_rate_and_more.py │ ├── 0005_order_state.py │ ├── 0006_equitysnapshot_order_raw_data_and_more.py │ ├── 0007_order_side.py │ ├── 0008_strategy_black_list.py │ └── __init__.py ├── models.py ├── spot_future_arbitrage │ ├── README.md │ └── okx_strategy.py ├── tests.py └── views.py └── tools ├── __init__.py ├── account.py ├── aes_encrypt.py ├── class_tools.py ├── dataclass.py ├── instruments.py ├── number.py ├── qps_calculator.py ├── redis_cache.py ├── rounder.py ├── telegram.py ├── throttling.py └── time_parse.py /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/.flake8 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/.gitignore -------------------------------------------------------------------------------- /.mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/.mypy.ini -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.pylintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/.pylintrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/README.md -------------------------------------------------------------------------------- /README_CN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/README_CN.md -------------------------------------------------------------------------------- /_logs/_touch: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backtest/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /basis_alpha/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /basis_alpha/asgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/basis_alpha/asgi.py -------------------------------------------------------------------------------- /basis_alpha/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/basis_alpha/config.py -------------------------------------------------------------------------------- /basis_alpha/instrument_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/basis_alpha/instrument_info.py -------------------------------------------------------------------------------- /basis_alpha/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/basis_alpha/settings.py -------------------------------------------------------------------------------- /basis_alpha/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/basis_alpha/urls.py -------------------------------------------------------------------------------- /basis_alpha/wsgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/basis_alpha/wsgi.py -------------------------------------------------------------------------------- /clients/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /clients/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/base.py -------------------------------------------------------------------------------- /clients/formatters/factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/formatters/factory.py -------------------------------------------------------------------------------- /clients/formatters/local.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/formatters/local.py -------------------------------------------------------------------------------- /clients/formatters/okex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/formatters/okex.py -------------------------------------------------------------------------------- /clients/okex/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/okex/common.py -------------------------------------------------------------------------------- /clients/okex/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/okex/config.py -------------------------------------------------------------------------------- /clients/okex/http.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/okex/http.py -------------------------------------------------------------------------------- /clients/okex/ws.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/clients/okex/ws.py -------------------------------------------------------------------------------- /common/capacity.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/common/capacity.py -------------------------------------------------------------------------------- /common/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/common/common.py -------------------------------------------------------------------------------- /common/okx_common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/common/okx_common.py -------------------------------------------------------------------------------- /common/topic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/common/topic.py -------------------------------------------------------------------------------- /data_source/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data_source/admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/admin.py -------------------------------------------------------------------------------- /data_source/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/apps.py -------------------------------------------------------------------------------- /data_source/exchange_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/exchange_info.py -------------------------------------------------------------------------------- /data_source/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data_source/management/commands/start_okx_future_spot_spider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/management/commands/start_okx_future_spot_spider.py -------------------------------------------------------------------------------- /data_source/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data_source/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/models.py -------------------------------------------------------------------------------- /data_source/orderbook_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/orderbook_manager.py -------------------------------------------------------------------------------- /data_source/spiders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/spiders/__init__.py -------------------------------------------------------------------------------- /data_source/spiders/base_spider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/spiders/base_spider.py -------------------------------------------------------------------------------- /data_source/spiders/data_type.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/spiders/data_type.py -------------------------------------------------------------------------------- /data_source/spiders/http_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/spiders/http_client.py -------------------------------------------------------------------------------- /data_source/spiders/okex_spider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/spiders/okex_spider.py -------------------------------------------------------------------------------- /data_source/spiders/okx_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/spiders/okx_config.py -------------------------------------------------------------------------------- /data_source/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/data_source/tests.py -------------------------------------------------------------------------------- /data_source/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | 3 | # Create your views here. 4 | -------------------------------------------------------------------------------- /images/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/images/img.png -------------------------------------------------------------------------------- /images/img_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/images/img_1.png -------------------------------------------------------------------------------- /images/order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/images/order.png -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/manage.py -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/requirements.txt -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.10.12 2 | -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /staticfiles/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /strategy/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /strategy/admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/admin.py -------------------------------------------------------------------------------- /strategy/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/apps.py -------------------------------------------------------------------------------- /strategy/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /strategy/management/commands/start_strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/management/commands/start_strategy.py -------------------------------------------------------------------------------- /strategy/migrations/0001_initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0001_initial.py -------------------------------------------------------------------------------- /strategy/migrations/0002_rename_passphrase_account_api_passphrase_and_more.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0002_rename_passphrase_account_api_passphrase_and_more.py -------------------------------------------------------------------------------- /strategy/migrations/0003_alter_strategy_options_alter_strategy_max_close_rate_and_more.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0003_alter_strategy_options_alter_strategy_max_close_rate_and_more.py -------------------------------------------------------------------------------- /strategy/migrations/0004_alter_strategy_max_close_rate_and_more.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0004_alter_strategy_max_close_rate_and_more.py -------------------------------------------------------------------------------- /strategy/migrations/0005_order_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0005_order_state.py -------------------------------------------------------------------------------- /strategy/migrations/0006_equitysnapshot_order_raw_data_and_more.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0006_equitysnapshot_order_raw_data_and_more.py -------------------------------------------------------------------------------- /strategy/migrations/0007_order_side.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0007_order_side.py -------------------------------------------------------------------------------- /strategy/migrations/0008_strategy_black_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/migrations/0008_strategy_black_list.py -------------------------------------------------------------------------------- /strategy/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /strategy/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/models.py -------------------------------------------------------------------------------- /strategy/spot_future_arbitrage/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/spot_future_arbitrage/README.md -------------------------------------------------------------------------------- /strategy/spot_future_arbitrage/okx_strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/spot_future_arbitrage/okx_strategy.py -------------------------------------------------------------------------------- /strategy/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/strategy/tests.py -------------------------------------------------------------------------------- /strategy/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | 3 | # Create your views here. 4 | -------------------------------------------------------------------------------- /tools/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/account.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/account.py -------------------------------------------------------------------------------- /tools/aes_encrypt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/aes_encrypt.py -------------------------------------------------------------------------------- /tools/class_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/class_tools.py -------------------------------------------------------------------------------- /tools/dataclass.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/dataclass.py -------------------------------------------------------------------------------- /tools/instruments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/instruments.py -------------------------------------------------------------------------------- /tools/number.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/number.py -------------------------------------------------------------------------------- /tools/qps_calculator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/qps_calculator.py -------------------------------------------------------------------------------- /tools/redis_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/redis_cache.py -------------------------------------------------------------------------------- /tools/rounder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/rounder.py -------------------------------------------------------------------------------- /tools/telegram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/telegram.py -------------------------------------------------------------------------------- /tools/throttling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/throttling.py -------------------------------------------------------------------------------- /tools/time_parse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lijiachang/okx_spot_future_arbitrage/HEAD/tools/time_parse.py --------------------------------------------------------------------------------