BlueBot and all mentioned services are free to use, including supported financial APIs.
BlueBot is a self-healing trading bot. You can get started by building a custom stock screener from Free Stock Screener - Yahoo Finance and setting it in the global scope.
This project supports the following:
- Custom Stock Screening
- Historical & Real-Time Data Collection
- Technical Analysis (eg. Bollinger Bands, VWAP)
- Custom Trade Strategies (eg. Backtesting)
- Conditional Trade Execution (WIP)
Root file main.go contains the general structure and configuration for this project.
-
Custom Yahoo Finance stock screener endpoint can be attached on line line 16.
YF_SCREENER_URL = "" // Set custom yahoo finance screener endpoint
Note: global URL will live for only a month and will have recreated if used actively. A future OAuth tool will allow endpoints to add so that the Yahoo Finance screener will come from inside a Yahoo account.
-
Trading strategies can be easily implemented.
// An example trade strategy func Strategy(mc *MainConfig) (string, interface{}) { t.Sort(2.00) m1 := Short(t, mc.c) m2 := Sift(m1) m2 := Mechanics(FetchLong(m1.Ticker, NewFetchConfig(HOUR, "1", 365)), NewLongMechConfig()) Check(m1.Ticker, EMA) }
Later a custom strategy can be added and placed inside the following code block on line 48.
for { t := <-mc.tOut Strategy(mc) // Custom trade strategy goes here time.Sleep(60 * time.Second) }
For historical data collection, you can choose from three different services: Alpha Vantage, IEX Cloud, and Polygon.io. Any API keys will need to be placed inside a local env file.
For real-time data collection, you will need to collect API keys from Alpaca, an algorithmic stock trading for developers with margin availability and fractional shares. Any API keys will need to be placed inside a local env file.