• This repository has been archived on 03/Jun/2021
  • Stars
    star
    101
  • Rank 338,166 (Top 7 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created over 6 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Making predictions on prices in the Deutsche Börse Public Dataset using neural networks

Stock Price Movement Prediction Using The Deutsche Börse Public Dataset & Machine Learning

Introduction

We use neural networks applied to stock market data from the Deutsche Börse Public Dataset (PDS) to make predictions about future price movements for each stock.

Specifically, we make a prediction on the direction of the next minute's price change using information from the previous ten minutes. We use this to power a simplified trading strategy to show potential returns.

This is intended as a demonstrate of the applications on this data set.

The Deutsche Börse Public Dataset

The Deutsche Börse PDS project provides minute-by-minute statistics over trading data from the XETRA and EUREX engines.

We focus on XETRA only. It is comprised of a variety of equities, funds and derivative securities. The PDS contains details for on a per security level, detailing trading activity by minute including the high, low, first and last prices within the time period.

Getting Started

Ensure you have Docker installed before completing the following steps.

  1. Run ./build.sh in the main repo folder to build the Docker image.
  2. Run ./run-notebook.sh to receive the notebook URL. Copy/paste this into your browser to access the notebook.
  3. Start with the notebooks in order. Notebook 02- prepared the data for the other notebooks.

Additionally, you should run step 1 (./build.sh) after each pull where the Dockerfile has been updated to rebuild your local version against the latest update.

Project Structure

The work here is divided across three notebooks:

Additional notebooks

  • What prices are predictable
    • We find out that it matters weather you predict an EndPrice, a MeanPrice or a MedianPrice in the next interval. We show how one can normalize the prices to improve the prediction.
  • Clustering Stocks
    • We cluster 100 stocks from the dataset using data from 60 days.
  • Simpler Linear Model
    • We show a well-performing linear model with hand-engineered features on a single stock. We predict the average price of the next day for a single stock. This is intended to get started easily with the dataset and price modeling.
  • Large-scale linear model predicting 20 minutes ahead
    • We run a linear model on the 50 most liquid stocks with proper training and test sets. We predict the direction of the average price in the next 20 minutes.

Documentation

General project documentation can be found in the wiki here.

Authors

  • Stefan Savev (Originate)
  • Rey Farhan (Originate)

More Repositories

1

guide

A starting point for Originate engineers, product managers, and testers
Shell
131
star
2

scriptkeeper

Run tests against your scripts without changing your scripts.
Rust
101
star
3

exosphere

A modern cloud-based micro-service framework
Go
18
star
4

cookbooks

recipes that we use in and around the house
Ruby
18
star
5

scala_mockito_cheatsheet

A few examples to show how to use mockito in a scala project
Scala
10
star
6

cucumber-testrail

Portal for Displaying Cucumber Results from CircleCI on TestRail!
CoffeeScript
10
star
7

scalypher

a DSL for building neo4j cypher queries in scala
Scala
9
star
8

react-e

React helper to generate elements
LiveScript
6
star
9

OriginateUI

A lightweight UI theming framework for iOS applications
Objective-C
5
star
10

weighted_score

Calculate Weighted Scores
Ruby
5
star
11

eslint-plugin-ts-graphql

ESLint plugin to pair with ts-graphql-plugin
TypeScript
5
star
12

go-execplus

Go
5
star
13

create-originate-app

estd. july 2020
TypeScript
5
star
14

mycha

Painless testing setup for Node.JS using Mocha, Chai, and Sinon.js
CoffeeScript
5
star
15

OriginateTheme

OriginateTheme is a lightweight user interface theming framework.
Python
5
star
16

dcos-login

Automates unattended login for the https://github.com/dcos/dcos-cli
Go
5
star
17

recouple

Declarative and type-safe API bridging. Write full-stack applications with ease.
JavaScript
4
star
18

play-sample-opsworks

A example of how to setup a Play! application with opsworks
Ruby
4
star
19

nectarine

A way to manage state in JavaScript applications
LiveScript
4
star
20

terraform-modules

Composable Terraform modules for provisioning infrastructure stacks
HCL
3
star
21

object-depth-js

Calculates the depth of a JavaScript object
Gherkin
3
star
22

exocom

communication infrastructure for AI-native application ecosystems
Go
2
star
23

OriginateScrollViewFloater

A customizable UIScrollView floater element.
Objective-C
1
star
24

replay-ruby

Ruby client for Replay.io
Ruby
1
star
25

go-debug

This is a clone of the defunct https://github.com/visionmedia/go-debug
Go
1
star
26

monorepo-bazel-poc

A proof of concept for using a scalable build system
Starlark
1
star
27

exoservice-go

Exosphere service template for a generic service written in go
Go
1
star
28

replay-android

Android SDK for Replay.io
Java
1
star
29

exorelay-hs

Communication relay between Haskell code bases and the Exosphere environment
Haskell
1
star
30

rewire-loader

Webpack loader to inject dependencies like rewire module
LiveScript
1
star