GithubHelp home page GithubHelp logo

kakiquant's Introduction

KakiQuant - Your personalized quantitative analysis platform

KakiQuant Project aims to provide an AI-ready toolkit for Quant developers and a minimalistic web interface for traditional traders to keep the pace of AI-Quant-Trading.

Features include:

  • Datasource service that can provide completed financial data at low cost, and local Databases to enjoy low latency streaming
  • Ready for AI, we will setup a framework where traditional ML toolkits, DNN-based solutions, and innovative models are introduced by Quant journals.
  • Easy to use, we will finally provide high-level wrappers, such as flowcharts, that people can drag blocks and assemble a strategy.

Developing Progress

This project is currently in the early stages, we are continuously adding more features and making the code base more robust. We will always maintain a publicly available branch for developers. In KakiQuant, you are able to find:

  • Profitable Strategies
  • Daily advice
  • AI portfolio management
  • More ...

Basic Features

  • Datafeeding: Downloading, Cleaning, Reading, Updating
  • Factor Analysis: Single Factor validation, Multi-Factor model, Barra, etc
  • Basic ML: K-Means, Lightgbm, Gplearn, Graph Neural Networks, Hidden Markov Models...

Advanced Features

  • RL: Portfolio Management(MARL)
  • DL: Time-series models

Getting Started

# We recommend you to create a conda environment in case of any incompatibilities

# Our code is developed on python3.10
conda create -n quant python=3.10
cd /path_to_Kakiquant
pip install -e . # For developers

Features

The following is a list of some of the features. Expect to see this list grow as we continuously work on implementing new features!

  • Similarity Klines to get the most correlated indexes to the target.
  • Graph Neural Network to generate a list of the 10 most similar indexes
  • Hidden Markov Model.
  • Access the data through our Database

Reporting Issues

We value your contributions and strive to make the process of reporting issues as smooth as possible. If you encounter a problem or have a suggestion, please follow these guidelines to help us address your concerns effectively.

Before Reporting an Issue

  • Check Existing Issues: Before creating a new issue, please check already existing ones, to see if the issue or feature request has already been filed. Make sure to check closed issues as well.
  • Gather Information: Collect as much information as possible about the issue. This could include steps to reproduce the problem, the version of the software you're using, and relevant configuration details.
  • Attempt to Reproduce: If you encounter a bug, try to reproduce it consistently. If the issue is intermittent, provide details about how often and under what conditions it occurs.

How to Report a New Issue

  1. Use the Issue Template: Determine what is wrong and why. Head to the issue section of this repository.

  2. Describe the Bug/Feature: Clearly describe the issue you are experiencing or the feature you are proposing. Include any error messages, stack traces, screenshots, or other artifacts that would be helpful.

  3. Steps to Reproduce: If applicable, provide a step-by-step guide on how to reproduce the bug.

  4. Expected Behavior: Describe what you expected to happen when you encountered the bug.

  5. Actual Behavior: Describe what happened. Include any error messages or unexpected outcomes.

  6. Possible Solution: If you have an idea of how to fix the bug or implement the feature, suggest it here.

  7. Additional Context: Add any other context about the problem or feature request here. This might include the impact of the issue, workarounds you have tried, or links to similar issues.

After Reporting an Issue

  • Patience is Key: After you submit an issue, the maintainers will need time to investigate and respond. We appreciate your patience as we work to resolve your issue.
  • Follow-Up: You may be asked to provide

Authors

  • Shengyang Wang - Data Science, class of 2026, Duke Kunshan University - Github
  • Nizar Talty - Data Science, class of 2026, Duke Kunshan University - Github
  • Renzo Balcazar Tapia - Data Science, class of 2025, Duke Kunshan University - Github

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.