Using Shogun in the JVM

Shogun is and open-source machine learning library that offers a wide range of efficient and unified machine learning methods. It is implemented in C++ and provides the necessary java integration so that it can be used in any language which is based on the JVM: – Java – Scala – Groovy – Kotlin – etc I tried to make Shogun easier to use in a JVM environment. The documentation how to use Shogun e.g. in Read more…

Deeplearning4j – Recurrent Neural Networks (RNN)

A recurrent neural network (RNN) is a class of artificial neural network where connections between nodes form a directed graph along a sequence. This allows it to exhibit temporal dynamic behavior for a time sequence. Unlike feedforward neural networks, RNNs can use their internal state (memory) to process sequences of inputs. I am showing a basic implementation of a RNN in DL4J. Further information can be found at https://deeplearning4j.org/docs/latest/deeplearning4j-nn-recurrent. This demo has been implemented in Read more…

Deeplearning4j – Iris Classification Example

I am a big fan of Keras – Fortunately we also have a similar framework available when we need to implement a solution which works in the JVM: DeepLearning4J. In this Blog I give a quick introduction of some of the key concepts which are needed to get started. I am using the Iris dataset to demonstrate the classification of data with the help of a neural network. This demo has been implemented in Scala Read more…

Investor – Automatic Trading with E-Trade

Hurray – Today I finally managed to finish the implementation of the integration into E-Trade. Unfortunately it turned out to be a little bit more complicated then initially thought and there were quite a few stumbling blocks around the topic of “authentication”. I have aleady demonstrated how to do trading with actual data. In this document I want to show how to do automatic trading with E-Trade. Information on how to request to access E-Trade Read more…

Investor – A Polyglot Framework

Because Investor has been implemented in Java and is available as jars from a Maven repository we can easily use the framework in all languages which are based on the the JVM. Here is a quick demo using Jupyter Lab (using Beakerx) with: – Scala – Java – Groovy – Kotlin – Clojure Here is a screen shot of Jupyter Lab: Scala Scala combines object-oriented and functional programming in one concise, high-level language. Scala’s static Read more…

Investor – Running an Automatic Trading Bot

So far we have looked at the trading simulation functionality which was using the historic stock data to evaluate strategies on a single stock or a portfolio of stocks. In this document we want to demonstrate how to do trading with actual data. We still use the PaperTrader to demonstrate the basic logic Setup We add the necessary jars and import all relevant packages: %classpath config resolver maven-public https://software.pschatzmann.ch/repository/maven-public/ %%classpath add mvn ch.pschatzmann:investor:0.9-SNAPSHOT ch.pschatzmann:jupyter-jdk-extensions:0.0.1-SNAPSHOT Added Read more…

Investor and Edgar

In this document we demonstrate how to use the Edgar Database for the selection of the stocks into a portfilio with the help of the Investor library. This functionality is using the Edgar Webservice which is based on the data which is available on https://www.sec.gov/edgar.shtml. Setup We add the necessary jars and import the related packages. %classpath config resolver maven-public http://software.pschatzmann.ch/repository/maven-public/ %classpath add mvn ch.pschatzmann:investor:0.9-SNAPSHOT %classpath add mvn ch.pschatzmann:jupyter-jdk-extensions:0.0.1-SNAPSHOT // our stock evaluation framwork import Read more…

Investor – Forecasting

Forecasting The longer you look back, the farther you can look forward. (Winston Churchill) Forecastig of the development of stocks is quite a challangning task with uncertain outcome. We currently support the following approaches: – Forecast based on History – Arima Setup %classpath config resolver maven-public http://pschatzmann.ch:8081/repository/maven-public/ %classpath add mvn ch.pschatzmann:investor:0.9-SNAPSHOT %classpath add mvn ch.pschatzmann:jupyter-jdk-extensions:0.0.1-SNAPSHOT Added new repo: maven-public Added jars: [websocket-common-9.2.20.v20161216.jar, commons-cli-1.3.1.jar, htmlunit-2.24.jar, qdox-1.5.jar, investor-0.9-SNAPSHOT.jar, httpclient-4.5.3.jar, hamcrest-core-1.1.jar, slf4j-api-1.7.25.jar, commons-codec-1.10.jar, jetty-io-9.2.20.v20161216.jar, timeseries-forecast-1.1.1.jar, commons-lang3-3.5.jar, jackson-databind-2.9.4.jar, commons-io-2.5.jar, Read more…

Investor – Selection of Stocks into a Portfilio

Selection of Stocks into a Portfilio In the current document we show how you can pick the best stock and strategy combinations out of a big collecion from a universe. Setup Import Libraries %classpath config resolver maven-public http://software.pschatzmann.ch/repository/maven-public/ %classpath add mvn ch.pschatzmann:investor:0.9-SNAPSHOT %classpath add mvn ch.pschatzmann:jupyter-jdk-extensions:0.0.1-SNAPSHOT Imports // our stock evaluation framwork import ch.pschatzmann.dates._; import ch.pschatzmann.stocks._; import ch.pschatzmann.stocks.data.universe._; import ch.pschatzmann.stocks.input._; import ch.pschatzmann.stocks.accounting._; import ch.pschatzmann.stocks.accounting.kpi._; import ch.pschatzmann.stocks.execution._; import ch.pschatzmann.stocks.execution.fees._; import ch.pschatzmann.stocks.execution.price._; import ch.pschatzmann.stocks.parameters._; import ch.pschatzmann.stocks.strategy._; import Read more…