Daily Risk-Asset Trade Signals

Don D.M. Tadaya • DASCIENT LLC
Coinmonks
7 min readApr 22, 2022

--

Here’s how I used Kaggle’s schedule feature to build a daily cryptocurrency trade signals webpage.

See the program here: Daily Binance Trade Signals

Introduction

There’s a lot to unpack here, but the essentials are: ccxt, pandas_ta, & Kaggle’s trigger feature. CCXT (https://github.com/ccxt/ccxt) is an exchange API wrapper that supports a stupendous list of brokerages and is incredibly easy to use. Pandas Technical Analysis Library (https://github.com/twopirllc/pandas-ta) serves as our pool of indicators & forecasting algorithms. And the schedule feature within Kaggle’s notebook kernel enables for daily, weekly, or monthly executions of code will be our vehicle for daily automation.

Install & Import Packages

Login To Binance.us

The following is respective of ccxt’s login protocol for binance.us. (https://docs.ccxt.com/en/latest/exchange-markets.html)

Calculate Indicators

What I find most valuable about this model is that I can easily customize & fine-tune my buy/sell trade signal parameters. I decided to use the following technical indicators & forecasting algorithms in order to “recommend” (i.e. discern against) going long or going short: Kalman Filter Forecast Model, 14-Day Lower/Upper Bollinger Bands, 9 & 26-Day Senkou Span Ichimoku, Archer Moving Averages Trends (AMAT), & Relative Strength Index (RSI). Although the 14/91/125-Day Exponential Moving Averages (EMA) & Choppiness Index were calculated, they are not currently used as decision parameters for the output below

Output Dataframe

Plotter

Here’s a simple plot model to consider the EMAs running against our Close Price within the the given timeframe. In this case, we set the OHLC limit to collect 300 days worth of data.

Data Preparation

The cell below will collect all binance-tradeable symbols, then iterate calculate_indicator(symbol) against each one in order to produce the final output as a dataframe that includes all the indicators & forecasts we need.

Top & Bottom 10s

Notice

If any of the results in our top 10 are recommended Buys, I’d want to see those first. But if every result came out False, then there are no recommended long positions.

I do the same concept for Sells:

Recommendations

Top 3 Buys

Bottom 3 Sells

Scheduler

Located at the far right of Kaggle’s notebook panel > Settings, you’ll find a trigger feature that allows for daily, weekly, or monthly executions of the kernel. This provides me with all the data I need in order to get a pulse on current market trends.

In all honesty, I’m more excited about the fact that I have something to look at and revel everyday. Only to find fallacies, ways to be more efficient, or simple changes need to be made so as to give me something fun to do on some idle Saturday morning.

Key Takeaways

With that said, it’s important to note (even for myself) that the signals provided will be completely dependent on the conditions I set within the calculate_indicator() protocol. This gives me frequent opportunities to better tune my forecasting models, clean out some inefficiencies, or add more indicators as I continue to learn about the fluctuations of the crypto market.

On-going & Future Efforts

It would be great to use Kaggle’s scheduler feature in order to place actual trades. Implementing more sophisticated indicators, robust forecasts, safe limit orders, & stop-loss thresholds might someday serve as a comfortable vehicle for automated trading. This protocol can be written to run against other exchanges, of course, like TD Ameritrade & Robinhood which both have open source APIs. This project will be on-going and I expect to continue tuning the notebook’s recommendations. In other words, it will never be perfect.

https://linkedin.com/in/dontadaya

Thank you!

Join Coinmonks Telegram Channel and Youtube Channel learn about crypto trading and investing

Also, Read

--

--