-
Notifications
You must be signed in to change notification settings - Fork 8
Multiple plotting engines for PerformanceAnalytics
PerformanceAnalytics provides an R package of econometric functions for performance and risk analysis of financial instruments or portfolios. This package provides practitioners and researchers much of the latest research for analysis of both normally and non-normally distributed return streams.
PerformanceAnalytics uses xts and R base plotting to construct many charts of the analytical output. Since its initial creation, R has added the ability to use many other plotting engines. This project should add support for those plotting engines while maintaining the core functionality.
PerformanceAnalytics is considered a 'core' project for financial analysis in R. This project seeks to extend the functionality and make it more useful to more people and for more output targets.
PerformanceAnalytics provides more than 30 charting functions for visualizing financial data and the results of analysis on that data. In order to make the charts more useful, this project seeks to do two things. First, it should support multiple plotting libraries. Second, it should always return well structured data using the invisible function so that a user could use the data for additional analysis or to pass to some unsupported plotting library.
support more charting engines in a rational and extensible way. e.g. , dygraphs, plotly, ggplot2 , matplotlib via reticulate
The current chart.Timeseries integration has it backwards. We should have the
'base' function, with no extension or possibly as an inner function
with a .base extension, generate an object (which will be returned via
invisible() ) that contains all necessary plotting data in a list
object. Then if you choose an engine, which would default as now to
base R plot.xts graphics, we would pass to a sub-function that had an
extension which matched the engine someone wanted.
All charting functions should return a well-formatted list that contains all the transformed data.
Today, many people create replicas of PerformanceAnalytics charts using other engines to include charts in interactive rmarkdown documents or Shiny applications. After this project, users will be able to call the core plot functions with extra parameters, and get back the format output that they want.
- Peter Carl
- Brian Peterson https://github.com/braverock/
- Justin Shea
Students, please do one or more of the following tests before contacting the mentors above.
-
"basic": clone the repository and install the PerformanceAnalytics package and its dependencies locally
-
"intermediate": propose a patch via a pull request for any open issue on the PerformanceAnalytics package, or for a new feature you think would be useful to have in PerformanceAnalytics .
-
"expert": implement one of the models described in the scope of the GSoC project idea here. Most of these models are expected to take a few hours each to code the function, so a prototype should be achievable.
Students, please post a link to your test results here.