Coder Social home page Coder Social logo

reckziegel / ffp Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 3.0 14.85 MB

Fully Flexible Probabilities for Stress-Testing and Portfolio Construction

Home Page: https://reckziegel.github.io/FFP/

License: Other

R 100.00%
entropy-pooling scenarios risk-management views flexible-probabilities bayesian-inference portolio-optimization

ffp's People

Contributors

reckziegel avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

ffp's Issues

Views constructor

Even if entropy_pooling() works fine, the function is still shy in the package as a whole. Maybe if there were constructors for the views, this function could have a central spot here and in the CMA (#6).

Add `mts` support

The difference between ts and mts can pave the way for subtle bugs. Example:

colnames(EuStockMarkets)
#> [1] "DAX"  "SMI"  "CAC"  "FTSE"
names(EuStockMarkets)
#> NULL
is.mts(EuStockMarkets)
#> [1] TRUE
is.ts(EuStockMarkets)
#> [1] TRUE

colnames(EuStockMarkets[ , 1])
#> NULL
names(EuStockMarkets[ , 1])
#> NULL
is.mts(EuStockMarkets[ , 1])
#> [1] FALSE
is.ts(EuStockMarkets[ , 1])
#> [1] TRUE

colnames(EuStockMarkets[ , 1, drop = FALSE])
#> [1] "DAX"
names(EuStockMarkets[ , 1, drop = FALSE])
#> NULL
is.mts(EuStockMarkets[ , 1, drop = FALSE])
#> [1] FALSE
is.ts(EuStockMarkets[ , 1, drop = FALSE])
#> [1] TRUE

Created on 2021-07-01 by the reprex package (v2.0.0)

Add a histogram function

Something like this would be nice. Also, add an argument to group prior and posterior margins and inspect the differences among them.

library(ggplot2)
library(ggdist)
library(tibble)
pnl <- diff(log(EuStockMarkets[ , 1, drop = TRUE]))
pnl <- as.double(pnl)
tibble(pnl = pnl) %>% 
  ggplot(aes(x = pnl)) + 
  stat_histinterval(breaks = 100, outline_bars = TRUE) 

Created on 2021-06-15 by the reprex package (v2.0.0)

Add new method

Create a method that binds different views into the same object,

Improve `bind_probs()`

Bind_probs() could be improved to display a prettier output, possibly using information from the user call.

Reduce the number of depedencies

Check if stats::constrOptim can be used for constrained optimization. If so, two dependencies could be eliminated (pracma and NlcOptim).

Release ffp 0.2.0

Prepare for release:

  • Check current CRAN check results
  • Polish NEWS
  • devtools::build_readme()
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • Review pkgdown reference index for, e.g., missing topics
  • Draft blog post

Submit to CRAN:

  • usethis::use_version('minor')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted πŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version()
  • Finish blog post
  • Tweet
  • Add link to blog post in pkgdown news menu

Release ffp 0.2.2

Prepare for release:

  • git pull
  • Check current CRAN check results
  • Polish NEWS
  • devtools::build_readme()
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • git push

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted πŸŽ‰
  • git push
  • usethis::use_github_release()
  • usethis::use_dev_version()
  • git push

Release ffp 0.2.1

Prepare for release:

  • Check current CRAN check results
  • Polish NEWS
  • devtools::build_readme()
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()
  • revdepcheck::revdep_check(num_workers = 4)
  • Rstudio message: package β€˜revdepcheck’ is not available for this version of R.
  • Update cran-comments.md

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted πŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version()

Release ffp 0.0.1

First release:

Prepare for release:

  • devtools::build_readme()
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted πŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version()
  • Update install instructions in README

Add inputs standard

Standardize the kind of inputs the package accepts; otherwise, it's necessary to go back and forth between different data structures, making it easy to break the code.

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.