13.08.2022 Views

advanced-algorithmic-trading

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

461

if (

self.invested[ticker] is False and

event.sentiment >= self.sent_buy

):

print("LONG %s at %s" % (ticker, event.timestamp))

self.events_queue.put(SignalEvent(ticker, "BOT", self.qty))

self.invested[ticker] = True

# Close signal

if (

self.invested[ticker] is True and

event.sentiment <= self.sent_sell

):

print("CLOSING LONG %s at %s" % (ticker, event.timestamp))

self.events_queue.put(SignalEvent(ticker, "SLD", self.qty))

self.invested[ticker] = False

# sentiment_sentdex_backtest.py

import datetime

import click

import numpy as np

from qstrader import settings

from qstrader.compat import queue

from qstrader.price_parser import PriceParser

from qstrader.price_handler.yahoo_daily_csv_bar import \

YahooDailyCsvBarPriceHandler

from qstrader.sentiment_handler.sentdex_sentiment_handler import \

SentdexSentimentHandler

from qstrader.strategy import Strategies, DisplayStrategy

from qstrader.position_sizer.naive import NaivePositionSizer

from qstrader.risk_manager.example import ExampleRiskManager

from qstrader.portfolio_handler import PortfolioHandler

from qstrader.compliance.example import ExampleCompliance

from qstrader.execution_handler.ib_simulated import \

IBSimulatedExecutionHandler

from qstrader.statistics.tearsheet import TearsheetStatistics

from qstrader.trading_session.backtest import Backtest

from sentdex_sentiment_strategy import SentdexSentimentStrategy

def run(config, testing, tickers, filename):

# Set up variables needed for backtest

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!