Example #1
0
    def test_macd_rsi_adx_atr_obv_bb(self):
        tickers = ["TSLA", "SNAP"]

        strategies = [StrategyCII()]

        manager = \
            StrategyManager(
                strategies=strategies,
                tickers=tickers
            )

        stocks_per_strategy = manager.stocks_per_strategy
        for stock_per_strategy in stocks_per_strategy:
            for stock in stocks_per_strategy[stock_per_strategy]:
                print(stock.price_info)
                plotter = Plotter(period=1000)
                plotter.plot_stock(stock, collapse_indicators=False)

        print("Analysis has been run")

        if DEVELOPMENT == True:
            plt.show()

        test_date = "14/07/2020"
        test_df = stocks_per_strategy[StrategyCII.name][0].price_info
        ticker = "TSLA"
        values = [318.0, 286.2, 311.2, 303.359, 117090500.0]

        i = 0
        for metric in ["High", "Low", "Open", "Close", "Volume"]:
            value = TestIndicators.truncate(test_df[ticker][metric].loc[
                test_df[ticker][metric].index == datetime.datetime.strptime(
                    test_date, "%d/%m/%Y")].iloc[0])
            assert value == TestIndicators.truncate(values[i]), value
            i += 1
Example #2
0
	def __init__(self, exchangeClient, inputConfRaw, cretenExecId):
		super(BackTester, self).__init__()

		self.exchangeClient = exchangeClient
		self.inputConfRaw = inputConfRaw
		self.cretenExecId = cretenExecId

		self.marketDataManager = MarketDataManager(self.exchangeClient)
		self.marketRulesManager = MarketRulesManager(self.exchangeClient)
		self.portfolioManager = PortfolioManager(self.exchangeClient)
		self.strategyManager = StrategyManager()
		self.orderManager = OrderManager(self.exchangeClient, self.marketRulesManager, self.strategyManager)

		self.exchangeDataListener = BacktestDataListener(self.exchangeClient, self.marketDataManager, self.marketRulesManager, self.portfolioManager, self.orderManager)
		self.exchangeEventSimulator = ExchangeEventSimulator(self.marketDataManager, self.orderManager, self.portfolioManager, self.exchangeDataListener)
Example #3
0
    def __init__(self, exchangeClient):
        self.exchangeClient = exchangeClient

        self.marketDataManager = MarketDataManager(self.exchangeClient)
        self.portfolioManager = PortfolioManager(self.exchangeClient)

        self.exchangeDataListener = BinanceDataListener(
            self.exchangeClient, self.marketDataManager, self.portfolioManager)

        self.bigThree = BigThree('XLM', 'ETH', self.exchangeClient,
                                 self.marketDataManager, self.portfolioManager)

        self.creten = StrategyManager()
        self.creten.addStrategy(self.bigThree)

        # initialize data
        self.marketDataManager.init('XLMETH', CretenInterval.INTERVAL_1MINUTE)
        self.portfolioManager.init()

        self.exchangeDataListener.registerPortfolioListener()
        self.exchangeDataListener.registerKlineListener(
            "XLMETH", CretenInterval.INTERVAL_1MINUTE,
            self.creten.processKline)