Announcing Quantitative
Tags: ruby, opensource, gem
Published: 2024-03-17 15:04:52

It is not a coincidence that as Bitcoin begins to surge, that I am back to writing code that can bring my own dreams alive with an automated trading system that is consistently profitable over the long-haul.  Only, this time, I wanted to adapt the tools I built for cryptocurrency trading to also automate trading for stocks, futures, and forex markets.  They say you cannot build an all-weather trading system that can trade in all scenarios, but that has never stopped me from trying!

When it comes to trading, it is universally acknowledged that you must be systematic in your approach.  I drink this particular Kool-Aid like a kid living in a candy store unsupervised.  Yes, you can make a bet using your eyes, emotions, and guts, and win big.  I have done just that many times over throughout my life.  The real question is, can you do it consistently and without losing your entire life savings if you bet wrong?  I believe it is possible!

To me, if there's structure to your trading and you're able to find and edge, that is a series of conditions that consistently leads to profitable trades, then you _should_ be automating your trading rules so that the computer takes care of all the nitty gritty while you're left free to find _another_, then _another_ edge to test, qualify, and implement.  After a while, with a collection of winning strategies and rules for picking which ones to use, you'll have that mythical trading system that everyone says is not possible.

I am not a full-time trader and certainly not certified in any way to give financial advice, but I am a software developer and I have worked on some amazing projects over the years and I still love to code and build things.  The cool thing about building automated trading systems is that the outcome can and does pay for itself many times over.

My journey began with Bitcoin in 2018, when I bought my first Bitcoin for something like $1,350.  Like many, I rode that big green wave to $19k in December 2019 and then the great retreat came and I began to learn about cycles in the market and began to understand I knew nothing.  Any fool can make a profit in a surging bull run.  It takes skill, knowledge, dedication and the resulting experience to make a profit in a bear or sideways market.

That's my belief and I have taken that journey and continue to follow along the path as I climb that mountain to success.  There's just one problem.  I've done it mostly in my own time and by myself and through reading and studying thousands of indicators, charts, and techniques.  To be sure, I've made many a friend along the way and we continue to communicate occasionally on the topic.  

Along the way, I have become a big fan of John Ehlers because he did something very different from everyone else: He brought an engineer's mind to the problem and recognized that price action in the market can be filtered, smoothed, and analyzed just like analog radio signals.  Ehlers also did a good job of explaining where traditional indicators such as RSI, Stochastic, and others fall down and why.  At the same time, he presented his own ideas on how he solved them in a way that resonates with me.

As such, [Quantitative](https://github.com/mwlang/quantitative) has a **heavy** influence derived from Ehlers' books and many, many papers.  But I think there's more to the quantitative trading systematic approach.  Ehlers is not the only successful systematic trader out there.  And I want to continue to expand and learn more from others.

While Quantitative today bears that heavy influence, it is a beginning and it is now Open Source, licensed under MIT terms.  You are invited to join me on this journey to building incredibly powerful core components that can underpin your trading systems.  

Much like any framework, this library provides framework for modeling streamed data.  It is oriented around open/high/low/close (OHLC) ticks, but it can also handle continuously streaming data from a web-socket stream.  You'll just have to build it, just as I did.  

In the coming weeks, I'll share how I'm using Quantitative or how I'm testing the tooling and show you you some of what I'm doing with this toolset.  Mostly, I'll probably talk about some tricky things I'm working on in the library and expose some patterns I've learned from the latest Ruby 3.2 and 3.3 releases.

The documentation is rough at the moment, lacking an easy onramp to getting started, but the library is well-covered by unit tests with documentation at the class and method level.  This is, after all, early alpha as I am just getting warmed up.  You're wholeheartedly invited to contribute and help me make Quantitative the best it can be.

* [GitHub.com](https://github.com/mwlang/quantitative)
* [RubyGems.org](https://rubygems.org/gems/quantitative)
* [RubyDoc.info](https://rubydoc.info/gems/quantitative)