Creating a stock trading bot is both a very interesting and a very challenging task. To build an algorithm that makes money, there is a number of potential trading strategies from which value can be created. This post attempts to list the most obvious strategies in a formal and systematic approach, to methodically structure the testing of the different ideas. This post will also be updated over time as more strategies get added and the most promising ideas are tested.
Diving deeper in data science and the actual coding of data processing functions and machine learning algorithms with Python, this series of tutorial gives us a great taste of what can be done in finance and stock trading. Through a hands-on approach, it guides us through the programming needed to retrieve, manipulate and visualize data, and, more importantly, to extract actionable insights.
This series of articles dives deeper into the actual applications of Machine Learning that are currently in use in many current technological processes and devices.
Through these posts entitled “Machine Learning is Fun!”, Adam Geitgey guides us step by step through the concepts, data, algorithms, code, results and pitfalls of machine learning applications from image, face and speech recognition to language translation and more. It also gathers several different sources for more details on each application and its development.
This series is really dense with detailed code, but it is also explained very clearly, step by step, with detailed illustration. It notably covers the use of a Convolutional Neural Network (including Generative Adversarial Network) and Recurrent Neural Network, together with some of their most prominent applications in daily life. It is a real course not to be missed for any ML developer!
Here is the list of posts with direct links:
- Part 1: The world’s easiest introduction to Machine Learning
- Part 2: Using Machine Learning to generate Super Mario Maker levels
- Part 3: Deep Learning and Convolutional Neural Networks
- Part 4: Modern Face Recognition with Deep Learning
- Part 5: Language Translation with Deep Learning and the Magic of Sequences
- Part 6: How to do Speech Recognition with Deep Learning
- Part 7: Abusing Generative Adversarial Networks to Make 8-bit Pixel Art
- Part 8: How to Intentionally Trick Neural Networks
Though several programming languages can be used to develop Artificial Intelligence applications, the language that is most often used and advised to use is Python, because it is a general purpose language designed for readability.
If you already have programming experience, you can have a brief overview of the syntax and specificity of Python in this video. This great course on problem-solving with algorithms and data structures will give you a complete, step-by-step approach to learning Python with explanations, videos and exercises, while this other tutorial from Stanford quickly goes over Python basics but dives deeper into using the Numpy, SciPy and Matplotlib modules for scientific computing.
Other languages that are often used include: Java, Lisp, Prolog, C++, R…
Python Programming Tools
Here is a series of programming tools and other systems to assist in the programming of AI applications.
- PyCharm: an Integrated Development Environment – IDE – used in computer programming, specifically for the Python language.
- Jupyter: the Jupyter Notebook is an open-source web application to create and share documents with live code, equations, visualizations.
- NumPy is the fundamental package for scientific computing with Python.
- TensorFlow: an open-source machine learning framework originally developed by Google Brain researchers and engineers.
- Anaconda: Anaconda is a platform for Python and R data science and machine learning on Linux, Windows, and Mac OS X.
- TFLearn: a deep learning library featuring a higher-level API for TensorFlow
- Scikit-Learn: an open-source machine learning library for Python
- Pandas: open-source data structure and analysis library for Python
- Caffe: a deep learning framework made with expression, speed, and modularity in mind
- Keras: a high-level neural networks API, written in Python
- Pytorch: an open source machine learning library for Python, used for applications such as natural language processing.
Cloud services providers
Certain AI applications may require large computing power to process important amounts of data. Fortunately, several companies provide such services on a regular or on-demand basis. Here are the most famous cloud computing services.
ROS – the Construct: Robots and environment simulator to train robots