Esempio n. 1
0
    def setUp(self) -> None:
        """Set up the Stock Frame."""

        # Grab configuration values.
        config = ConfigParser()
        config.read('configs/config.ini')

        CLIENT_ID = config.get('main', 'CLIENT_ID')
        REDIRECT_URI = config.get('main', 'REDIRECT_URI')
        CREDENTIALS_PATH = config.get('main', 'JSON_PATH')

        # Create a robot.
        self.robot = PyRobot(client_id=CLIENT_ID,
                             redirect_uri=REDIRECT_URI,
                             credentials_path=CREDENTIALS_PATH)

        # Grab historical prices, first define the start date and end date.
        start_date = datetime.today()
        end_date = start_date - timedelta(days=30)

        # Grab the historical prices.
        historical_prices = self.robot.grab_historical_prices(
            start=end_date,
            end=start_date,
            bar_size=1,
            bar_type='minute',
            symbols=['AAPL', 'MSFT'])

        # Convert data to a Data Frame.
        self.stock_frame = self.robot.create_stock_frame(
            data=historical_prices['aggregated'])
    def setUp(self) -> None:
        """Set up the Robot."""

        # Grab configuration values.
        config = ConfigParser()
        config.read('configs/config.ini')

        CLIENT_ID = config.get('main', 'CLIENT_ID')
        REDIRECT_URI = config.get('main', 'REDIRECT_URI')
        CREDENTIALS_PATH = config.get('main', 'JSON_PATH')
        self.ACCOUNT_NUMBER = config.get('main', 'ACCOUNT_NUMBER')

        self.robot = PyRobot(client_id=CLIENT_ID,
                             redirect_uri=REDIRECT_URI,
                             credentials_path=CREDENTIALS_PATH)
Esempio n. 3
0
 def __init__(self,
              client_id: str,
              redirect_uri: str,
              paper_trading: bool = True,
              credentials_path: str = None,
              trading_account: str = None):
     super().__init__(client_id, redirect_uri, paper_trading,
                      credentials_path, trading_account)
     """*** Properties*** """
     self.py_robot = PyRobot(client_id, redirect_uri, paper_trading,
                             credentials_path, trading_account)
     self.tickers = ['PLTR']
     self.db_connection = None
     # todo uhhh idk if I need to store all data in one table or each ticker in its own table...
     # self.db_table_names = ['rawData', 'processedData', 'models']
     self._agent: Agent = None
     self._indicator_client: Indicators = None
     self._signals = dict
     # Actions
     """*** Actions (order matters) ***"""
     self.initialize_db()
     self.create_portfolio()
Esempio n. 4
0
from pyrobot.robot import PyRobot
from pyrobot.indicators import Indicators

# Grab configuration values.
config = ConfigParser()
config.read('configs/config.ini')

CLIENT_ID = config.get('main', 'CLIENT_ID')
REDIRECT_URI = config.get('main', 'REDIRECT_URI')
CREDENTIALS_PATH = config.get('main', 'JSON_PATH')
ACCOUNT_NUMBER = config.get('main', 'ACCOUNT_NUMBER')

# Initalize the robot.
trading_robot = PyRobot(client_id=CLIENT_ID,
                        redirect_uri=REDIRECT_URI,
                        credentials_path=CREDENTIALS_PATH,
                        paper_trading=True)

# Create a Portfolio
trading_robot_portfolio = trading_robot.create_portfolio()

# Define mutliple positions to add.
multi_position = [{
    'asset_type': 'equity',
    'quantity': 2,
    'purchase_price': 4.00,
    'symbol': 'TSLA',
    'purchase_date': '2020-01-31'
}, {
    'asset_type': 'equity',
    'quantity': 2,
Esempio n. 5
0
# Grab the config file values
os.system("python3 configs/config.py")
config = ConfigParser()
config.read('configs/config.ini')

CLIENT_ID = config.get('main', 'CLIENT_ID')
API_KEY = config.get('main', 'API_KEY')
API_SECRET = config.get('main', 'API_SECRET').encode('UTF-8')
NONCE = config.get('main', 'NONCE')

# init the robot
trading_robot = PyRobot(
    account_number = '1',
    client_id = CLIENT_ID,
    api_key = API_KEY,
    api_secret = API_SECRET,
    nonce = NONCE,
    paper_trading = True
)

# Create a new portfolio
trading_robot_portfolio = trading_robot.create_portfolio()

# add multi positions to portfolio
'''
multi_position = [
    {
        'asset_type': 'bitcoin',
        'quantity': 2,
        'purchase_price': 4.00,
        'symbol': 'btcusd',
from pyrobot.indicators import Indicators

# Grab configuration values.
config = ConfigParser()
config.read('configs/config.ini')

CLIENT_ID = config.get('main', 'CLIENT_ID')
REDIRECT_URI = config.get('main', 'REDIRECT_URI')
CREDENTIALS_PATH = config.get('main', 'JSON_PATH')
ACCOUNT_NUMBER = config.get('main', 'ACCOUNT_NUMBER')
FIRST_ACCOUNT_NUMBER = config.get('main', 'FIRST_ACCOUNT_NUMBER')

# Initalize the robot.
trading_robot = PyRobot(client_id=CLIENT_ID,
                        redirect_uri=REDIRECT_URI,
                        credentials_path=CREDENTIALS_PATH,
                        trading_account=ACCOUNT_NUMBER,
                        first_trading_account=FIRST_ACCOUNT_NUMBER,
                        paper_trading=False)
trading_robot_positions = trading_robot.get_positions(FIRST_ACCOUNT_NUMBER)
# Create a Portfolio
trading_robot_portfolio = trading_robot.create_portfolio()
trading_robot_portfolio.add_positions(trading_robot_positions)
"""
# Define mutliple positions to add.
multi_position = [
    {
        'asset_type': 'equity',
        'quantity': 2,
        'purchase_price': 4.00,
        'symbol': 'TSLA',
        'purchase_date': '2020-01-31'
Esempio n. 7
0
 def when_a_robot_is_created(self):
     self.robot = PyRobot(client_id=self.client_id,
                          redirect_uri=self.redirect_uri,
                          credentials_path=self.credentials_path)