Coder Social home page Coder Social logo

shayandavoodii / onlineportfolioselection.jl Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 2.0 7.78 MB

This package offers both traditional benchmark and newly developed Online Portfolio Selection (OPS) algorithms implementation.

Home Page: https://shayandavoodii.github.io/OnlinePortfolioSelection.jl/dev/

License: MIT License

Julia 100.00%
algorithm-trading finance julia online-portfolio-selection portfolio-selection

onlineportfolioselection.jl's Introduction

Hi there šŸ‘‹ This is Shayan

Hey, I'm Shayan! I'm super curious and excited about diving into the awesome world of Statistics, AI, and machine learning. I love solving problems, and I see it as a challenge that keeps me going every day.

I've recently completed my M.Sc. in Financial Engineering from the AmirKabir University of Technology (Polytechnic of Tehran). I got into this field because I wanted to mix machine learning with financial investments to make predictions that could beef up investment strategies. After three years of daily learning, Iā€™m still just as stoked as I was when I started this journey!

Presently, my academic interests revolve around the following areas:

  • Time Series Analysis
  • Time Series Pattern Matching
  • Time Series Prediction
  • Mathematical Optimization
  • Multi-Objective Optimization
  • Markov Switching Processes
  • Multi-Criteria Decision Making
  • Online Portfolio Selection

šŸŽÆ Stats

profile trophies

šŸ–‡ļø Links

linkedin

onlineportfolioselection.jl's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

onlineportfolioselection.jl's Issues

`dricorn` returns an indexing error

This happens when the adequate amount of data is not provided to calculate the market trend. This can be fixed by increasing the number of data samples provided to the agent. However, the error isn't informative enough to know where is the problem and how to fix it.

Precompile using PrecompileTools

Some of the algorithms are needed to be precompiled in order to enhance the FTTX. The potential algorithms to be precompiled are cornu, cornk, and dricorn due to their heavy algorithms.

Remove the `Printf` dependency

The Printf dependency is not necessary and the functionality can be handled using the basic println function. A little bit of extra exprimentation is required to get the formatting correct.

Turn package name on in the make.jl

  • Remove the name of the package from the logo and let the documenter.jl put the name below the logo. Currently, the name is being displayed too small.
  • Test whether the logo's size can be increased without any displaying issues.

attempt to access 29-element Vector{Float64} at index [0]

Error in running the dricorn function:

julia> res = dricornk(rand(3, 29), rand(29), 5, 10, 5, 10)
ERROR: BoundsError: attempt to access 29-element Vector{Float64} at index [0]
Stacktrace:
 [1] getindex
   @ .\essentials.jl:13 [inlined]
 [2] dricorn_expert(relative_prices::Matrix{ā€¦}, asset_ret::Matrix{ā€¦}, market_ret::Vector{ā€¦}, horizon::Int64, w::Int64, rho::Float64, t::Int64, n_assets::Int64, lambda::Float64)
   @ OnlinePortfolioSelection e:\Julia Forks\OPS.jl\src\Algos\DRICORNK.jl:180
 [3] dricornk(x::Matrix{ā€¦}, relpr_market::Vector{ā€¦}, horizon::Int64, k::Int64, w::Int64, p::Int64; lambda::Float64, init_budg::Int64, progress::Bool)
   @ OnlinePortfolioSelection e:\Julia Forks\OPS.jl\src\Algos\DRICORNK.jl:97
 [4] dricornk(x::Matrix{Float64}, relpr_market::Vector{Float64}, horizon::Int64, k::Int64, w::Int64, p::Int64)
   @ OnlinePortfolioSelection e:\Julia Forks\OPS.jl\src\Algos\DRICORNK.jl:52
 [5] top-level scope
   @ REPL[53]:1
Some type information was truncated. Use `show(err)` to see complete types.

release

@JuliaRegistrator register

Release notes:

  • budgets got removed. It potentially could raise difficulties in understanding the concept (especially in comparison with the sn function.) 4b544b8
  • Functions got lowercase.
  • @docs utilized for the sake of easier documenting.
  • rprt deployment postponed to the next release.
  • Unit tests adjusted and useless ones removed.

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

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.