Beispiel #1
0
 def __perform_task__(self):
     sys_config = SystemConfiguration()
     predictor_optimizer = PatternPredictorOptimizer(sys_config.db_stock)
     pattern_type_list = [
         FT.ALL
     ] + sys_config.trade_strategy_optimizer.optimal_pattern_type_list_for_long_trading
     predictor_optimizer.calculate_class_metrics_for_predictor_and_label_for_today(
         pattern_type_list)
Beispiel #2
0
 def __init__(self, api: TradeTestApi, sys_config=None):
     self.api = api
     self.trade_process = api.test_process
     self.sys_config = sys_config if sys_config else SystemConfiguration()
     self.exchange_config = self.sys_config.exchange_config
     if self.api.pattern_id == '':
         self.__adjust_sys_config__()
         self.__adjust_data_provider_parameters__()
     else:
         self.sys_config.init_by_pattern_id_str(self.api.pattern_id)
         self.sys_config.data_provider.and_clause = self.api.and_clause
     self.__adjust_exchange_config__()
"""
Description: This module tests/handles some database related methods.
Author: Josef Sertl
Copyright: SERTL Analytics, https://sertl-analytics.com
Date: 2019-07-22
"""
from sertl_analytics.constants.pattern_constants import PRD, FT
from pattern_database.stock_database_updater import StockDatabaseUpdater
from pattern_predictor_optimizer import PatternPredictorOptimizer
from sertl_analytics.exchanges.bitfinex import BitfinexConfiguration
from pattern_system_configuration import SystemConfiguration

sys_config = SystemConfiguration()
stock_db = sys_config.db_stock
predictor_optimizer = PatternPredictorOptimizer(stock_db)

feature_columns_before_breakout = sys_config.pattern_table.get_feature_columns_before_breakout_for_statistics(
)
print('\nfeature_columns_before_breakout={}'.format(
    ', '.join(feature_columns_before_breakout)))

label_columns_before_breakout = sys_config.pattern_table.get_label_columns_before_breakout_for_statistics(
)
print('\nlabel_columns_before_breakout={}'.format(
    ', '.join(label_columns_before_breakout)))

feature_columns_after_breakout = sys_config.pattern_table.get_feature_columns_after_breakout_for_statistics(
)
print('\nfeature_columns_after_breakout={}'.format(
    ', '.join(feature_columns_after_breakout)))
 def __init__(self, sys_config=None):
     self.sys_config = SystemConfiguration(
     ) if sys_config is None else sys_config
     self.db_stock = self.sys_config.db_stock
     self.pattern_controller = PatternDetectionController(self.sys_config)
"""
Description: This module deletes duplicate entries within the trade and pattern table.
Author: Josef Sertl
Copyright: SERTL Analytics, https://sertl-analytics.com
Date: 2018-11-05
"""
from sertl_analytics.constants.pattern_constants import PRD, FT, INDICES
from pattern_database.stock_database_updater import StockDatabaseUpdater
from pattern_predictor_optimizer import PatternPredictorOptimizer
from sertl_analytics.exchanges.bitfinex import BitfinexConfiguration
from pattern_system_configuration import SystemConfiguration

sys_config = SystemConfiguration(with_predictor=True)
stock_db = sys_config.db_stock
exchange_config = BitfinexConfiguration()
predictor_optimizer = PatternPredictorOptimizer(stock_db)
stock_db_updater = StockDatabaseUpdater(sys_config)
# sys_config.exchange_config.small_profit_taking_active = True
# stock_db_updater.update_trade_records(4, 16, pattern_end_date='')  # 2018-10-31

if True:
    # stock_db_updater.update_wave_data_by_index_for_daily_period(INDICES.NASDAQ100, 400)
    # stock_db_updater.update_wave_data_by_index_for_daily_period(INDICES.CRYPTO_CCY, limit=400, last_days=30)
    # stock_db_updater.update_wave_data_by_index_for_daily_period(INDICES.Q_FSE, 400, start_after='000HHFA')
    stock_db_updater.update_wave_data_by_index_for_intraday(
        INDICES.Q_FSE, offset_day_range=10, start_after='000AIXA')
    # stock_db.update_stock_data_by_index(INDICES.DOW_JONES, PRD.DAILY)
    # stock_db_updater.handle_transaction_problems()
    # stock_db_updater.calculate_index_list([INDICES.NASDAQ100], save_to_database=True)
    # stock_db.update_stock_data_by_index(INDICES.INDICES, PRD.DAILY)
    # stock_db.update_stock_data_by_index(INDICES.NASDAQ100, PRD.DAILY)
"""
Description: This module starts the pattern detection application. It is NOT stored on git hub.
Author: Josef Sertl
Copyright: SERTL Analytics, https://sertl-analytics.com
Date: 2018-06-10
"""

from sertl_analytics.myprofiler import MyProfiler
from sertl_analytics.constants.pattern_constants import FT, INDICES, CN, BT, TSTR, PRD, OPS
from pattern_system_configuration import SystemConfiguration, debugger
from pattern_dash.my_dash_for_pattern import MyDash4Pattern

my_profiler = MyProfiler()
sys_config = SystemConfiguration(run_on_server=True)

sys_config.data_provider.from_db = False
sys_config.data_provider.period = PRD.INTRADAY
sys_config.data_provider.aggregation = 15  # ToDo: Back to 15
sys_config.data_provider.output_size = OPS.COMPACT
sys_config.data_provider.limit = 200
sys_config.exchange_config.deactivate_automatic_trading()
sys_config.exchange_config.trade_strategy_dict = {
    BT.BREAKOUT: [
        TSTR.LIMIT, TSTR.LIMIT_FIX, TSTR.TRAILING_STEPPED_STOP,
        TSTR.TRAILING_STOP
    ],
    # BT.FC_TICKS: [TSTR.TRAILING_STOP]
}
sys_config.exchange_config.delete_vanished_patterns_from_trade_dict = False
sys_config.exchange_config.massive_breakout_pct = 5
sys_config.config.simple_moving_average_number = 20