PyAlgoEngine 0.5.3__tar.gz → 0.5.4.post4__tar.gz
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.
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/PKG-INFO +27 -20
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/PyAlgoEngine.egg-info/PKG-INFO +27 -20
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/__init__.py +41 -41
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/__init__.py +17 -17
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/backtest/__init__.py +20 -20
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/backtest/doc_server.py +327 -327
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/backtest/tester.py +254 -254
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/backtest/web_app.py +127 -127
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/bokeh_server.py +162 -162
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/demo/test.py +39 -39
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/backtest/__init__.py +19 -19
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/backtest/metrics.py +179 -179
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/backtest/replay.py +258 -258
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/backtest/sim_match.py +295 -295
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/base/__init__.py +28 -28
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/base/telemetrics.py +78 -78
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/engine/trade_engine.py +11 -2
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/monitor/__init__.py +15 -15
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/monitor/advanced_data_interface.py +239 -239
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/profile/__init__.py +118 -118
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/profile/cn.py +175 -175
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/strategy/strategy_engine.py +8 -2
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/utils/__init__.py +3 -3
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/utils/commit_regularizer.py +49 -49
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/utils/data_utils.py +250 -250
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/setup.cfg +4 -4
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/LICENSE +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/PyAlgoEngine.egg-info/SOURCES.txt +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/PyAlgoEngine.egg-info/dependency_links.txt +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/PyAlgoEngine.egg-info/requires.txt +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/PyAlgoEngine.egg-info/top_level.txt +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/README.md +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/apps/demo/__init__.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/backtest/__main__.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/base/console_utils.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/base/finance_decimal.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/base/market_utils.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/base/technical_analysis.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/base/trade_utils.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/engine/__init__.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/engine/algo_engine.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/engine/event_engine.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/engine/market_engine.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/algo_engine/strategy/__init__.py +0 -0
- {PyAlgoEngine-0.5.3 → pyalgoengine-0.5.4.post4}/setup.py +0 -0
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: PyAlgoEngine
|
|
3
|
-
Version: 0.5.
|
|
4
|
-
Summary: Basic algo engine
|
|
5
|
-
Home-page: https://github.com/BolunHan/PyAlgoEngine
|
|
6
|
-
Author: Bolun.Han
|
|
7
|
-
Author-email: Bolun.Han@outlook.com
|
|
8
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Requires-Python: >=3.1
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: PyAlgoEngine
|
|
3
|
+
Version: 0.5.4.post4
|
|
4
|
+
Summary: Basic algo engine
|
|
5
|
+
Home-page: https://github.com/BolunHan/PyAlgoEngine
|
|
6
|
+
Author: Bolun.Han
|
|
7
|
+
Author-email: Bolun.Han@outlook.com
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Requires-Python: >=3.1
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: numpy
|
|
18
|
+
Requires-Dist: pandas
|
|
19
|
+
Requires-Dist: exchange_calendars
|
|
20
|
+
Requires-Dist: PyEventEngine
|
|
21
|
+
Provides-Extra: webapps
|
|
22
|
+
Requires-Dist: flask; extra == "webapps"
|
|
23
|
+
Requires-Dist: waitress; extra == "webapps"
|
|
24
|
+
Requires-Dist: bokeh; extra == "webapps"
|
|
25
|
+
|
|
26
|
+
# PyAlgoEngine
|
|
27
|
+
python algo trading engine
|
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: PyAlgoEngine
|
|
3
|
-
Version: 0.5.
|
|
4
|
-
Summary: Basic algo engine
|
|
5
|
-
Home-page: https://github.com/BolunHan/PyAlgoEngine
|
|
6
|
-
Author: Bolun.Han
|
|
7
|
-
Author-email: Bolun.Han@outlook.com
|
|
8
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Requires-Python: >=3.1
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: PyAlgoEngine
|
|
3
|
+
Version: 0.5.4.post4
|
|
4
|
+
Summary: Basic algo engine
|
|
5
|
+
Home-page: https://github.com/BolunHan/PyAlgoEngine
|
|
6
|
+
Author: Bolun.Han
|
|
7
|
+
Author-email: Bolun.Han@outlook.com
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Requires-Python: >=3.1
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: numpy
|
|
18
|
+
Requires-Dist: pandas
|
|
19
|
+
Requires-Dist: exchange_calendars
|
|
20
|
+
Requires-Dist: PyEventEngine
|
|
21
|
+
Provides-Extra: webapps
|
|
22
|
+
Requires-Dist: flask; extra == "webapps"
|
|
23
|
+
Requires-Dist: waitress; extra == "webapps"
|
|
24
|
+
Requires-Dist: bokeh; extra == "webapps"
|
|
25
|
+
|
|
26
|
+
# PyAlgoEngine
|
|
27
|
+
python algo trading engine
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
__version__ = "0.5.
|
|
2
|
-
|
|
3
|
-
import logging
|
|
4
|
-
import os
|
|
5
|
-
import traceback
|
|
6
|
-
|
|
7
|
-
from . import profile
|
|
8
|
-
from .base.telemetrics import LOGGER
|
|
9
|
-
|
|
10
|
-
if 'ALGO_DIR' in os.environ:
|
|
11
|
-
WORKING_DIRECTORY = os.path.realpath(os.environ['ALGO_DIR'])
|
|
12
|
-
else:
|
|
13
|
-
WORKING_DIRECTORY = str(os.getcwd())
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def set_logger(logger: logging.Logger):
|
|
17
|
-
base
|
|
18
|
-
engine
|
|
19
|
-
backtest
|
|
20
|
-
strategy
|
|
21
|
-
apps
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
# import addon module
|
|
33
|
-
try:
|
|
34
|
-
from . import algo_addon
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
except ImportError:
|
|
38
|
-
algo_addon = None
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
__all__ = ['LOGGER', 'base', 'engine', '
|
|
1
|
+
__version__ = "0.5.4.post4"
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
import os
|
|
5
|
+
import traceback
|
|
6
|
+
|
|
7
|
+
from . import profile
|
|
8
|
+
from .base.telemetrics import LOGGER
|
|
9
|
+
|
|
10
|
+
if 'ALGO_DIR' in os.environ:
|
|
11
|
+
WORKING_DIRECTORY = os.path.realpath(os.environ['ALGO_DIR'])
|
|
12
|
+
else:
|
|
13
|
+
WORKING_DIRECTORY = str(os.getcwd())
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def set_logger(logger: logging.Logger):
|
|
17
|
+
from . import base
|
|
18
|
+
from . import engine
|
|
19
|
+
from . import backtest
|
|
20
|
+
from . import strategy
|
|
21
|
+
from . import apps
|
|
22
|
+
|
|
23
|
+
base.set_logger(logger=logger)
|
|
24
|
+
engine.set_logger(logger=logger.getChild('Engine'))
|
|
25
|
+
backtest.set_logger(logger=logger.getChild('BackTest'))
|
|
26
|
+
strategy.set_logger(logger=logger.getChild('Strategy'))
|
|
27
|
+
apps.set_logger(logger=logger.getChild('Apps'))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
LOGGER.info(f'AlgoEngine version {__version__}')
|
|
31
|
+
|
|
32
|
+
# import addon module
|
|
33
|
+
try:
|
|
34
|
+
from . import algo_addon
|
|
35
|
+
|
|
36
|
+
LOGGER.info(f'PyAlgoEngineAddons import successful, version {algo_addon.__version__}')
|
|
37
|
+
except ImportError:
|
|
38
|
+
algo_addon = None
|
|
39
|
+
LOGGER.debug(f'Install PyAlgoEngineAddons to use additional trading algos module\n{traceback.format_exc()}')
|
|
40
|
+
|
|
41
|
+
__all__ = ['LOGGER', 'base', 'engine', 'backtest', 'strategy', 'algo_addon']
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
|
|
3
|
-
from .. import LOGGER
|
|
4
|
-
|
|
5
|
-
LOGGER = LOGGER.getChild('Apps')
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def set_logger(logger: logging.Logger):
|
|
9
|
-
global LOGGER
|
|
10
|
-
LOGGER = logger
|
|
11
|
-
|
|
12
|
-
from . import backtest
|
|
13
|
-
backtest.set_logger(LOGGER.getChild('Backtester'))
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
from .bokeh_server import DocServer, DocTheme
|
|
17
|
-
from .backtest.tester import Tester, StrategyTester
|
|
1
|
+
import logging
|
|
2
|
+
|
|
3
|
+
from .. import LOGGER
|
|
4
|
+
|
|
5
|
+
LOGGER = LOGGER.getChild('Apps')
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def set_logger(logger: logging.Logger):
|
|
9
|
+
global LOGGER
|
|
10
|
+
LOGGER = logger
|
|
11
|
+
|
|
12
|
+
from . import backtest
|
|
13
|
+
backtest.set_logger(LOGGER.getChild('Backtester'))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from .bokeh_server import DocServer, DocTheme
|
|
17
|
+
from .backtest.tester import Tester, StrategyTester
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
|
|
3
|
-
from .. import LOGGER
|
|
4
|
-
|
|
5
|
-
LOGGER = LOGGER.getChild('Backtester')
|
|
6
|
-
|
|
7
|
-
from .doc_server import CandleStick, StickTheme
|
|
8
|
-
from .web_app import WebApp, start_app
|
|
9
|
-
from .tester import Tester
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def set_logger(logger: logging.Logger):
|
|
13
|
-
global LOGGER
|
|
14
|
-
LOGGER = logger
|
|
15
|
-
|
|
16
|
-
doc_server.LOGGER = LOGGER
|
|
17
|
-
web_app.LOGGER = LOGGER
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
__all__ = ['CandleStick', 'StickTheme', 'WebApp', 'start_app', 'Tester']
|
|
1
|
+
import logging
|
|
2
|
+
|
|
3
|
+
from .. import LOGGER
|
|
4
|
+
|
|
5
|
+
LOGGER = LOGGER.getChild('Backtester')
|
|
6
|
+
|
|
7
|
+
from .doc_server import CandleStick, StickTheme
|
|
8
|
+
from .web_app import WebApp, start_app
|
|
9
|
+
from .tester import Tester
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def set_logger(logger: logging.Logger):
|
|
13
|
+
global LOGGER
|
|
14
|
+
LOGGER = logger
|
|
15
|
+
|
|
16
|
+
doc_server.LOGGER = LOGGER
|
|
17
|
+
web_app.LOGGER = LOGGER
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
__all__ = ['CandleStick', 'StickTheme', 'WebApp', 'start_app', 'Tester']
|