コード例 #1
0
        /// <summary>
        /// Get stock data for single symbol
        /// </summary>
        /// <param name="stockSymbol">Stock symbol to get data for</param>
        /// <param name="lookBack">Number of units to look back</param>
        /// <returns>Tuple with training data and test data in that order</returns>
        public async Task <IList <StockInput> > GetStockData(string stockSymbol, TradingFrequency aggUnits, int lookBack = 1000)
        {
            var stockData = await _alpacaDataClient.GetBarSetAsync(new BarSetRequest(stockSymbol, (TimeFrame)aggUnits)
            {
                Limit = lookBack
            });

            return(GetStockInputs(stockSymbol, stockData[stockSymbol]));
        }
コード例 #2
0
        public StrategyHandler(
            ILogger <StrategyHandler> logger,
            IAlpacaClient alpacaClient,
            ITrackingRepository trackingRepository,
            IStrategy strategy,
            TradingFrequency frequency,
            decimal percentageOfEquityToAllocate,
            string stockSymbol)
        {
            _logger                       = logger ?? throw new ArgumentNullException(nameof(logger));
            _alpacaClient                 = alpacaClient ?? throw new ArgumentException(nameof(alpacaClient));
            _trackingRepository           = trackingRepository ?? throw new ArgumentException(nameof(trackingRepository));
            _strategy                     = strategy ?? throw new ArgumentException(nameof(strategy));
            _tradingFrequency             = frequency;
            _percentageOfEquityToAllocate = percentageOfEquityToAllocate;
            _stockSymbol                  = stockSymbol;

            HistoricalData = new List <StockInput>();
        }