Stock Market Trading with ML & AI Series - Tools of the Trade I

in Project HOPE4 years ago

As promised in the introductory article, this article continues our learning journey on how to trade the markets using ML/AI. Consider these series of articles as a learning journey which means that unless you are an advanced student of computational or algorithmic trading, you should try not to skip any article in the series. To help those new to my blog (and maybe seeing the most recent article first), I'll try to reference previous articles as much as I can. So let's dig in.

Today, we'll concentrate on a major tool we'll be using to learn how to trade the markets. Suffice to say that he most important tool with any trading algorithm will be the programming language of choice. In choosing a programming language to trade the markets efficiently, there are certain criteria that will need to be met and include:

Easy to learn and use

There is no use spending a lot of brain power learning a complicated language when there is so much already to learn in the fields of ML/AI and finance. Doing so in my mind will be wasteful, hence the need to pick the simplest program that can get the job done. For such a program to be simple and easy to learn, then it must translate well from the English language (my apologies to non-English speaking people, but you get my point) to the programming language with minimal need for the now outdated pseudo code.

wizard-1459117_1280.png

Image by GraphicMama-team from Pixabay

Supports not re-inventing the wheel

I don't know about you, but I'm a lazy programmer. If I have a problem, the first thing I do is to search the web to find if someone else has implemented the solution I had in mind. More often than not, this will usually be the case. However, this doesn't happen at the same degree for every programming language. It generally happens for popular languages that have a rich ecosystem of developers and users.

caveman-159359_1280.png

Image by OpenClipart-Vectors from Pixabay

Rich ecosystem for finance and ML/AI codes

There are several great programming languages with rich ecosystems for ML/AI codes. However, there are few of them that play well with finance also. The reason for this is that, historically, finance has mainly been a human profession until most recently with the birth of disciplines such as computational investing or econometrics. Most finance professionals are not programmers. This added to the fact that ML/AI is also a relatively new discipline, makes older programming languages almost out of the question for our purposes. For example, you will hardy find a finance code written in FORTRAN except it is highly propriety. Most finance codes will be written in the newer languages.

clean-1223168_1280.png

Image by M. Maggs from Pixabay

Supports various programming styles

Many of us come from different backgrounds when it comes to coding. Some code in object orientation style while others code procedural. Whichever the case, you want a programming language that can not only support your style but support other styles a problem might be solved easier in.

css-27192_1280.png

Image by Clker-Free-Vector-Images from Pixabay

It should be FREE!

This cannot be overstated. In my opinion, paying for a programming language is not necessary in today's world unless you need a lot of support (and not willing to learn the fine art and science of programming). There are far more unavoidable costs you need to deal with in trading such as transaction costs, slippage costs, data costs, liquidity costs etc. (we'll be touching on all this in our learning journey) that self inflicting programming language costs seems counter productive.

coupon-1828620_1280.png

Image by Lu Lettering from Pixabay

There only programming language that satisfies all five (5) criteria above is the PYTHON programming language and will be the major tool of our trade. Now some might argue for languages such as R (fails criteria 3) or MATLAB (fails criteria 5) and while they are close enough, they do fail at least one of the above criteria. However, this is a learning blog and I'll be glad to hear opposing views on this (the comments section here is your friend).

snake-37585_1280.png

Image by Clker-Free-Vector-Images from Pixabay

So that's it for this week. We'll stop here so as not to make the article very long (I hate those and guessing you are also like me). However, we've made significant progress and have arrived at the most important tool of the trade - the Python programming language. Next week, in part II of this article, we'll be looking at the sub-tools we'll need with python to create an effective trading platform.

Before we go, since things are becoming real, I think it's time to include a disclaimer for this series of articles:

DISCLAIMER
Trading is very risky and you should only risk funds you are willing to loose in trading either humanly or via ML/AI. This blog content does not constitute investment advise nor is it a substitute for expert opinion. When in doubt, please consult your financial adviser

Yours in learning,

AIPLUSFINANCE.png

Sort:  

Have a witness !BEER

Hello @aiplusfinance
It's a very interesting article, I haven't actually seen the first one yet.
That thing you said about most financial professionals not being programmers, is something that could limit the development of some tools, unless programmers and financiers work together, which I think is not usual, but it would be a good team.

"he comment section here is your friend", this is very good he he

The truth is that I don't know anything about programming, but I know that it is becoming more and more important, with the technology that everything has become, and surely what is missing.

Thanks @josevas217! You are right about your comment on limiting development of financial tools due to finance professionals not being programmers. Infact that is the main reason why one of the oldest professions - finance - came late into the computational game. However, in recent years, what changed was computational professionals - engineers, physicists, computer scientists etc. started becoming interested in finance. This trend gave rise to new professions and University degrees such as financial engineers.

Actually, my blog is for those who have little or no experience in programming, so you are well at home here. My hope is that by the time I am done with the series, it will become easier to build or use the computational tools we develop to confidently trade the markets yourself.

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.029
BTC 60752.38
ETH 2453.49
USDT 1.00
SBD 2.63