Coder Social home page Coder Social logo

replacementai / finding-alpha-with-ai-v2 Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 2.0 413 KB

Version 2 of a 3 part series of Jupyter notebooks to help find alpha in the stock market with AI models

License: GNU General Public License v3.0

Jupyter Notebook 100.00%

finding-alpha-with-ai-v2's Introduction

Finding-Alpha-with-AI-v2

Improvements from v1:

  1. Neural networks and tree models instead of just linear models
  2. Also creating features from gold prices instead of just SPY ETF and bond prices.
  3. Scoring function now accounts for shorting

In these series of jupyter notebooks, we will go over how to create simple AI models for strategies in the stock market.

In the first notebook, we evaluate and visualize different models to determine the correlation (aka similarity) between their outputs, in order to create diverse strategies that will perform well when combined into one model.

In the second notebook, we compare the returns of different combinations of parameters related to data (specifically the N period interval and N period look back window) to determine the best performing combination of parameters related to data.

In the third notebook, we evaluate different parameters of models (as opposed to data in the previous notebook), scoring them on average returns, in order to determine the best performing model parameters.

image image image image

finding-alpha-with-ai-v2's People

Contributors

replacementai avatar

Stargazers

DingYu.Fu avatar Zoli Veres avatar Adnan Moheddin avatar Lucas Morin avatar  avatar  avatar Matteo Manzi avatar  avatar Hossein Abedi avatar

Watchers

 avatar

finding-alpha-with-ai-v2's Issues

small feedback

Just looked at your code; Some interesting stuff; I noted the following possible improvements:

  • Features you use are not relative. You don't have much tickers / targets so it doesn't matter that much. But generally speaking relative features should be nicer to allow more generic predictions (and avoid problems when split happen)
  • You drop volume; maybe you shouldn't because there is some information in it. Similarly you might want to get information about volatility; Maybe you can add some feature (currently you only have lagged mean; lagged std could be a good proxy for volatility)
  • regarding features, i don't see standard scaling. it is important for regularised models (so that small features don't get dropped based on their scale) and nn (so that range of feature is within the linear part of activation function).
  • Adding some models (random forest comes to mind) could be nice for diversification.
  • SPY has recently been driven by the 'AI' factor. Maybe you want to add a technological index (NASDAQ ?). Similarly you might want to take inflation into account.
  • Generally speaking you might want to improve a bit the architecture of the project. (Isolate functions in utility, typing of the function ... etc.)
    Best,

Why duplicate repo?

Why creating a new repo just because of a new version? Can't you keep building in the same place, to make the work less dispersive?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.