diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index c57888bc..226d20d2 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: aa6de7bb4809089476879e39f32f7dd9 +config: c7ef2e0edce5614b95a3d168aacf8abb tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/.doctrees/development/contributing.doctree b/docs/build/html/.doctrees/development/contributing.doctree index 7b7e5098..5f417bf5 100644 Binary files a/docs/build/html/.doctrees/development/contributing.doctree and b/docs/build/html/.doctrees/development/contributing.doctree differ diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index cc65bea2..9fe326b1 100644 Binary files a/docs/build/html/.doctrees/environment.pickle and b/docs/build/html/.doctrees/environment.pickle differ diff --git a/docs/build/html/.doctrees/user_guide/installation.doctree b/docs/build/html/.doctrees/user_guide/installation.doctree index 9313c000..0208f8d1 100644 Binary files a/docs/build/html/.doctrees/user_guide/installation.doctree and b/docs/build/html/.doctrees/user_guide/installation.doctree differ diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index 90afee18..b530b689 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -5,7 +5,7 @@ - Overview: module code — openseries 2.1.9 documentation + Overview: module code — openseries 2.1.10 documentation @@ -13,7 +13,7 @@ - + diff --git a/docs/build/html/_modules/openseries/datefixer.html b/docs/build/html/_modules/openseries/datefixer.html index d17fca60..6bcd3a54 100644 --- a/docs/build/html/_modules/openseries/datefixer.html +++ b/docs/build/html/_modules/openseries/datefixer.html @@ -5,7 +5,7 @@ - openseries.datefixer — openseries 2.1.9 documentation + openseries.datefixer — openseries 2.1.10 documentation @@ -13,7 +13,7 @@ - + diff --git a/docs/build/html/_modules/openseries/frame.html b/docs/build/html/_modules/openseries/frame.html index 82e91883..fc9a7955 100644 --- a/docs/build/html/_modules/openseries/frame.html +++ b/docs/build/html/_modules/openseries/frame.html @@ -5,7 +5,7 @@ - openseries.frame — openseries 2.1.9 documentation + openseries.frame — openseries 2.1.10 documentation @@ -13,7 +13,7 @@ - + diff --git a/docs/build/html/_modules/openseries/load_plotly.html b/docs/build/html/_modules/openseries/load_plotly.html index ebab9690..82ec6806 100644 --- a/docs/build/html/_modules/openseries/load_plotly.html +++ b/docs/build/html/_modules/openseries/load_plotly.html @@ -5,7 +5,7 @@ - openseries.load_plotly — openseries 2.1.9 documentation + openseries.load_plotly — openseries 2.1.10 documentation @@ -13,7 +13,7 @@ - + diff --git a/docs/build/html/_modules/openseries/owntypes.html b/docs/build/html/_modules/openseries/owntypes.html index 592963dc..ef39a180 100644 --- a/docs/build/html/_modules/openseries/owntypes.html +++ b/docs/build/html/_modules/openseries/owntypes.html @@ -5,7 +5,7 @@ - openseries.owntypes — openseries 2.1.9 documentation + openseries.owntypes — openseries 2.1.10 documentation @@ -13,7 +13,7 @@ - + diff --git a/docs/build/html/_modules/openseries/portfoliotools.html b/docs/build/html/_modules/openseries/portfoliotools.html index 7ef4f58a..af00cc40 100644 --- a/docs/build/html/_modules/openseries/portfoliotools.html +++ b/docs/build/html/_modules/openseries/portfoliotools.html @@ -5,7 +5,7 @@ - openseries.portfoliotools — openseries 2.1.9 documentation + openseries.portfoliotools — openseries 2.1.10 documentation @@ -13,7 +13,7 @@ - + @@ -913,7 +913,6 @@

Source code for openseries.portfoliotools

             filename=str(plotfile),
             auto_open=auto_open,
             auto_play=False,
-            link_text="",
             include_plotlyjs=include_plotlyjs,
             config=fig["config"],
             output_type=output_type,
diff --git a/docs/build/html/_modules/openseries/report.html b/docs/build/html/_modules/openseries/report.html
index 44cd0985..744e2bb2 100644
--- a/docs/build/html/_modules/openseries/report.html
+++ b/docs/build/html/_modules/openseries/report.html
@@ -5,7 +5,7 @@
 
   
   
-  openseries.report — openseries 2.1.9 documentation
+  openseries.report — openseries 2.1.10 documentation
       
       
       
@@ -13,7 +13,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/_modules/openseries/series.html b/docs/build/html/_modules/openseries/series.html
index 6b070b91..ccdace82 100644
--- a/docs/build/html/_modules/openseries/series.html
+++ b/docs/build/html/_modules/openseries/series.html
@@ -5,7 +5,7 @@
 
   
   
-  openseries.series — openseries 2.1.9 documentation
+  openseries.series — openseries 2.1.10 documentation
       
       
       
@@ -13,7 +13,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/_modules/openseries/simulation.html b/docs/build/html/_modules/openseries/simulation.html
index 6fb00d83..3e75c106 100644
--- a/docs/build/html/_modules/openseries/simulation.html
+++ b/docs/build/html/_modules/openseries/simulation.html
@@ -5,7 +5,7 @@
 
   
   
-  openseries.simulation — openseries 2.1.9 documentation
+  openseries.simulation — openseries 2.1.10 documentation
       
       
       
@@ -13,7 +13,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/_sources/development/contributing.rst.txt b/docs/build/html/_sources/development/contributing.rst.txt
index b5931a2b..cfb3b523 100644
--- a/docs/build/html/_sources/development/contributing.rst.txt
+++ b/docs/build/html/_sources/development/contributing.rst.txt
@@ -17,25 +17,19 @@ Development Setup
    git clone https://github.com/yourusername/openseries.git
    cd openseries
 
-3. Install uv (if not already installed):
+3. Create the development environment. This installs the pinned uv version
+   (``uv==0.11.21``), syncs locked ``dev`` and ``docs`` dependencies from
+   ``uv.lock``, and installs pre-commit hooks:
 
 .. code-block:: bash
 
-   pip install uv
+   make install
 
-4. Create a virtual environment and install dependencies:
+On Windows:
 
-.. code-block:: bash
-
-   uv venv venv
-   source venv/bin/activate
-   uv pip install -e ".[dev,docs]"
-
-5. Install pre-commit hooks:
-
-.. code-block:: bash
+.. code-block:: powershell
 
-   pre-commit install
+   .\make.ps1 make
 
 Development Workflow
 ~~~~~~~~~~~~~~~~~~~~
@@ -377,7 +371,7 @@ Recommended settings in ``.vscode/settings.json``:
 .. code-block:: json
 
    {
-       "python.defaultInterpreterPath": ".venv/bin/python",
+       "python.defaultInterpreterPath": "venv/bin/python",
        "python.linting.enabled": true,
        "python.linting.ruffEnabled": true,
        "python.formatting.provider": "ruff",
diff --git a/docs/build/html/_sources/user_guide/installation.rst.txt b/docs/build/html/_sources/user_guide/installation.rst.txt
index 3ae5fc99..69f66f93 100644
--- a/docs/build/html/_sources/user_guide/installation.rst.txt
+++ b/docs/build/html/_sources/user_guide/installation.rst.txt
@@ -49,25 +49,26 @@ openseries automatically installs the following dependencies:
 Core Dependencies
 ~~~~~~~~~~~~~~~~~
 
-- **pandas** (>=2.1.2,<3.0.0) - Data manipulation and analysis
-- **numpy** (>=1.23.2,!=2.3.0,<3.0.0) - Numerical computing
-- **pydantic** (>=2.5.2,<3.0.0) - Data validation and settings management
+- **pandas** (>=2.1.2) - Data manipulation and analysis
+- **numpy** (>=1.23.2) - Numerical computing
+- **pydantic** (>=2.5.2) - Data validation and settings management
 - **plotly** (>=5.18.0) - Interactive plotting
-- **scipy** (>=1.11.4,<2.0.0) - Scientific computing
-- **scikit-learn** (>=1.4.0,<2.0.0) - Machine learning utilities
+- **scipy** (>=1.14.1) - Scientific computing
+- **scikit-learn** (>=1.4.0) - Machine learning utilities
 
 Financial and Date Utilities
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-- **exchange-calendars** (>=4.8,<6.0) - Trading calendar support
-- **holidays** (>=0.30,<1.0) - Holiday calendar support
-- **python-dateutil** (>=2.8.2,<4.0.0) - Date parsing utilities
+- **exchange-calendars** (>=4.8) - Trading calendar support
+- **holidays** (>=0.30) - Holiday calendar support
+- **python-dateutil** (>=2.8.2) - Date parsing utilities
+- **tzdata** (>=2025.3) - IANA time zone data
 
 File and Network Support
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-- **openpyxl** (>=3.1.2,<5.0.0) - Excel file support
-- **requests** (>=2.20.0,<3.0.0) - HTTP library
+- **openpyxl** (>=3.1.2) - Excel file support
+- **requests** (>=2.20.0) - HTTP library
 
 Optional Dependencies
 ~~~~~~~~~~~~~~~~~~~~~
@@ -117,27 +118,27 @@ You can also run a quick test:
 Development Installation
 ------------------------
 
-If you plan to contribute to openseries or need the development dependencies:
+If you plan to contribute to openseries or need the development dependencies,
+use the same pinned tooling as CI (``uv==0.11.21``):
 
 .. code-block:: bash
 
    git clone https://github.com/CaptorAB/openseries.git
    cd openseries
+   make install
 
-   # Install uv (if not already installed)
-   pip install uv
+On Windows, run ``.\make.ps1 make`` instead of ``make install``.
 
-   # Create a virtual environment and install dependencies
-   uv venv venv
-   source venv/bin/activate
-   uv pip install -e ".[dev]"
+This creates ``venv``, installs locked runtime, development, and documentation
+dependencies from ``uv.lock``, and installs pre-commit hooks. Development
+dependencies include:
 
-This will install additional development dependencies including:
-
-- **pytest** - Testing framework
-- **mypy** - Static type checking
-- **ruff** - Linting and formatting
-- **pre-commit** - Git hooks for code quality
+- **pytest** (>=9.1.0) - Testing framework
+- **pytest-cov** (>=7.1.0) - Coverage plugin
+- **pytest-xdist** (>=3.8.0) - Parallel test runner
+- **mypy** (==2.1.0) - Static type checking
+- **ruff** (==0.15.18) - Linting and formatting
+- **pre-commit** (>=4.6.0) - Git hooks for code quality
 
 Troubleshooting
 ---------------
diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js
index 68f09573..5355a780 100644
--- a/docs/build/html/_static/documentation_options.js
+++ b/docs/build/html/_static/documentation_options.js
@@ -1,5 +1,5 @@
 const DOCUMENTATION_OPTIONS = {
-    VERSION: '2.1.9',
+    VERSION: '2.1.10',
     LANGUAGE: 'en',
     COLLAPSE_INDEX: false,
     BUILDER: 'html',
diff --git a/docs/build/html/api/datefixer.html b/docs/build/html/api/datefixer.html
index de7b220e..93262dd8 100644
--- a/docs/build/html/api/datefixer.html
+++ b/docs/build/html/api/datefixer.html
@@ -6,7 +6,7 @@
   
 
   
-  Date Utilities — openseries 2.1.9 documentation
+  Date Utilities — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/frame.html b/docs/build/html/api/frame.html
index 746bffd1..eadfdeb8 100644
--- a/docs/build/html/api/frame.html
+++ b/docs/build/html/api/frame.html
@@ -6,7 +6,7 @@
   
 
   
-  OpenFrame — openseries 2.1.9 documentation
+  OpenFrame — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.OpenFrame.html b/docs/build/html/api/generated/openseries.OpenFrame.html
index d6cb48a8..ee5238d3 100644
--- a/docs/build/html/api/generated/openseries.OpenFrame.html
+++ b/docs/build/html/api/generated/openseries.OpenFrame.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.OpenFrame — openseries 2.1.9 documentation
+  openseries.OpenFrame — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.OpenTimeSeries.html b/docs/build/html/api/generated/openseries.OpenTimeSeries.html
index 266052e2..d1d1f25f 100644
--- a/docs/build/html/api/generated/openseries.OpenTimeSeries.html
+++ b/docs/build/html/api/generated/openseries.OpenTimeSeries.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.OpenTimeSeries — openseries 2.1.9 documentation
+  openseries.OpenTimeSeries — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.ReturnSimulation.html b/docs/build/html/api/generated/openseries.ReturnSimulation.html
index 45006040..5df9d1fc 100644
--- a/docs/build/html/api/generated/openseries.ReturnSimulation.html
+++ b/docs/build/html/api/generated/openseries.ReturnSimulation.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.ReturnSimulation — openseries 2.1.9 documentation
+  openseries.ReturnSimulation — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.ValueType.html b/docs/build/html/api/generated/openseries.ValueType.html
index 1d2cfdef..859bfa15 100644
--- a/docs/build/html/api/generated/openseries.ValueType.html
+++ b/docs/build/html/api/generated/openseries.ValueType.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.ValueType — openseries 2.1.9 documentation
+  openseries.ValueType — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.constrain_optimized_portfolios.html b/docs/build/html/api/generated/openseries.constrain_optimized_portfolios.html
index 5fff7eea..78159e0d 100644
--- a/docs/build/html/api/generated/openseries.constrain_optimized_portfolios.html
+++ b/docs/build/html/api/generated/openseries.constrain_optimized_portfolios.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.constrain_optimized_portfolios — openseries 2.1.9 documentation
+  openseries.constrain_optimized_portfolios — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.date_fix.html b/docs/build/html/api/generated/openseries.date_fix.html
index 848f0e36..e13b47b8 100644
--- a/docs/build/html/api/generated/openseries.date_fix.html
+++ b/docs/build/html/api/generated/openseries.date_fix.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.date_fix — openseries 2.1.9 documentation
+  openseries.date_fix — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.date_offset_foll.html b/docs/build/html/api/generated/openseries.date_offset_foll.html
index 1a92f74b..3193032d 100644
--- a/docs/build/html/api/generated/openseries.date_offset_foll.html
+++ b/docs/build/html/api/generated/openseries.date_offset_foll.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.date_offset_foll — openseries 2.1.9 documentation
+  openseries.date_offset_foll — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.efficient_frontier.html b/docs/build/html/api/generated/openseries.efficient_frontier.html
index 1c77edde..258ac788 100644
--- a/docs/build/html/api/generated/openseries.efficient_frontier.html
+++ b/docs/build/html/api/generated/openseries.efficient_frontier.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.efficient_frontier — openseries 2.1.9 documentation
+  openseries.efficient_frontier — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.generate_calendar_date_range.html b/docs/build/html/api/generated/openseries.generate_calendar_date_range.html
index 4eb2e40e..3d745642 100644
--- a/docs/build/html/api/generated/openseries.generate_calendar_date_range.html
+++ b/docs/build/html/api/generated/openseries.generate_calendar_date_range.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.generate_calendar_date_range — openseries 2.1.9 documentation
+  openseries.generate_calendar_date_range — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.get_previous_business_day_before_today.html b/docs/build/html/api/generated/openseries.get_previous_business_day_before_today.html
index 3d56a557..ea2d05de 100644
--- a/docs/build/html/api/generated/openseries.get_previous_business_day_before_today.html
+++ b/docs/build/html/api/generated/openseries.get_previous_business_day_before_today.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.get_previous_business_day_before_today — openseries 2.1.9 documentation
+  openseries.get_previous_business_day_before_today — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.holiday_calendar.html b/docs/build/html/api/generated/openseries.holiday_calendar.html
index cb08c585..0c7927d3 100644
--- a/docs/build/html/api/generated/openseries.holiday_calendar.html
+++ b/docs/build/html/api/generated/openseries.holiday_calendar.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.holiday_calendar — openseries 2.1.9 documentation
+  openseries.holiday_calendar — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.load_plotly_dict.html b/docs/build/html/api/generated/openseries.load_plotly_dict.html
index c596a6a8..80fe475a 100644
--- a/docs/build/html/api/generated/openseries.load_plotly_dict.html
+++ b/docs/build/html/api/generated/openseries.load_plotly_dict.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.load_plotly_dict — openseries 2.1.9 documentation
+  openseries.load_plotly_dict — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.offset_business_days.html b/docs/build/html/api/generated/openseries.offset_business_days.html
index 30ff1366..c1fae54c 100644
--- a/docs/build/html/api/generated/openseries.offset_business_days.html
+++ b/docs/build/html/api/generated/openseries.offset_business_days.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.offset_business_days — openseries 2.1.9 documentation
+  openseries.offset_business_days — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.prepare_plot_data.html b/docs/build/html/api/generated/openseries.prepare_plot_data.html
index 4a62aeba..e4f76b27 100644
--- a/docs/build/html/api/generated/openseries.prepare_plot_data.html
+++ b/docs/build/html/api/generated/openseries.prepare_plot_data.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.prepare_plot_data — openseries 2.1.9 documentation
+  openseries.prepare_plot_data — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.report_html.html b/docs/build/html/api/generated/openseries.report_html.html
index 14bd67e9..f63266aa 100644
--- a/docs/build/html/api/generated/openseries.report_html.html
+++ b/docs/build/html/api/generated/openseries.report_html.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.report_html — openseries 2.1.9 documentation
+  openseries.report_html — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.sharpeplot.html b/docs/build/html/api/generated/openseries.sharpeplot.html
index ffc1c5cd..86d5a3d1 100644
--- a/docs/build/html/api/generated/openseries.sharpeplot.html
+++ b/docs/build/html/api/generated/openseries.sharpeplot.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.sharpeplot — openseries 2.1.9 documentation
+  openseries.sharpeplot — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.simulate_portfolios.html b/docs/build/html/api/generated/openseries.simulate_portfolios.html
index 9ad7ddef..d05372ce 100644
--- a/docs/build/html/api/generated/openseries.simulate_portfolios.html
+++ b/docs/build/html/api/generated/openseries.simulate_portfolios.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.simulate_portfolios — openseries 2.1.9 documentation
+  openseries.simulate_portfolios — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/generated/openseries.timeseries_chain.html b/docs/build/html/api/generated/openseries.timeseries_chain.html
index f273c167..3ac005a6 100644
--- a/docs/build/html/api/generated/openseries.timeseries_chain.html
+++ b/docs/build/html/api/generated/openseries.timeseries_chain.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries.timeseries_chain — openseries 2.1.9 documentation
+  openseries.timeseries_chain — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/openseries.html b/docs/build/html/api/openseries.html
index 2f70f7c9..fc534ca0 100644
--- a/docs/build/html/api/openseries.html
+++ b/docs/build/html/api/openseries.html
@@ -6,7 +6,7 @@
   
 
   
-  openseries package — openseries 2.1.9 documentation
+  openseries package — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/portfoliotools.html b/docs/build/html/api/portfoliotools.html
index 0ac8e662..8798ef19 100644
--- a/docs/build/html/api/portfoliotools.html
+++ b/docs/build/html/api/portfoliotools.html
@@ -6,7 +6,7 @@
   
 
   
-  Portfolio Tools — openseries 2.1.9 documentation
+  Portfolio Tools — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/report.html b/docs/build/html/api/report.html
index 74de9c01..4e94c57e 100644
--- a/docs/build/html/api/report.html
+++ b/docs/build/html/api/report.html
@@ -6,7 +6,7 @@
   
 
   
-  Report Generation — openseries 2.1.9 documentation
+  Report Generation — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/series.html b/docs/build/html/api/series.html
index f5f08f88..295d5474 100644
--- a/docs/build/html/api/series.html
+++ b/docs/build/html/api/series.html
@@ -6,7 +6,7 @@
   
 
   
-  OpenTimeSeries — openseries 2.1.9 documentation
+  OpenTimeSeries — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/simulation.html b/docs/build/html/api/simulation.html
index 13f94e91..13ded9cc 100644
--- a/docs/build/html/api/simulation.html
+++ b/docs/build/html/api/simulation.html
@@ -6,7 +6,7 @@
   
 
   
-  Simulation — openseries 2.1.9 documentation
+  Simulation — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/api/types.html b/docs/build/html/api/types.html
index b1603da1..3b1273d8 100644
--- a/docs/build/html/api/types.html
+++ b/docs/build/html/api/types.html
@@ -6,7 +6,7 @@
   
 
   
-  Types and Enums — openseries 2.1.9 documentation
+  Types and Enums — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/development/changelog.html b/docs/build/html/development/changelog.html
index 7fea7b7c..6568cce8 100644
--- a/docs/build/html/development/changelog.html
+++ b/docs/build/html/development/changelog.html
@@ -6,7 +6,7 @@
   
 
   
-  Changelog — openseries 2.1.9 documentation
+  Changelog — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
diff --git a/docs/build/html/development/contributing.html b/docs/build/html/development/contributing.html
index 8c39048b..5f1d3d9a 100644
--- a/docs/build/html/development/contributing.html
+++ b/docs/build/html/development/contributing.html
@@ -6,7 +6,7 @@
   
 
   
-  Contributing to openseries — openseries 2.1.9 documentation
+  Contributing to openseries — openseries 2.1.10 documentation
       
       
       
@@ -14,7 +14,7 @@
   
       
       
-      
+      
       
       
     
@@ -172,23 +172,15 @@ 

Development Setup -
  • Install uv (if not already installed):

  • +
  • Create the development environment. This installs the pinned uv version +(uv==0.11.21), syncs locked dev and docs dependencies from +uv.lock, and installs pre-commit hooks:

  • -
    pip install uv
    +
    make install
     
    -
      -
    1. Create a virtual environment and install dependencies:

    2. -
    -
    uv venv venv
    -source venv/bin/activate
    -uv pip install -e ".[dev,docs]"
    -
    -
    -
      -
    1. Install pre-commit hooks:

    2. -
    -
    pre-commit install
    +

    On Windows:

    +
    .\make.ps1 make
     
    @@ -511,7 +503,7 @@

    IDE Setup.vscode/settings.json:

    {
    -    "python.defaultInterpreterPath": ".venv/bin/python",
    +    "python.defaultInterpreterPath": "venv/bin/python",
         "python.linting.enabled": true,
         "python.linting.ruffEnabled": true,
         "python.formatting.provider": "ruff",
    diff --git a/docs/build/html/examples/custom_reports.html b/docs/build/html/examples/custom_reports.html
    index e4bb496a..7e524f1b 100644
    --- a/docs/build/html/examples/custom_reports.html
    +++ b/docs/build/html/examples/custom_reports.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Reporting — openseries 2.1.9 documentation
    +  Reporting — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/examples/multi_asset.html b/docs/build/html/examples/multi_asset.html
    index 6c574967..486e9f00 100644
    --- a/docs/build/html/examples/multi_asset.html
    +++ b/docs/build/html/examples/multi_asset.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Multi-Asset Analysis — openseries 2.1.9 documentation
    +  Multi-Asset Analysis — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/examples/portfolio_optimization.html b/docs/build/html/examples/portfolio_optimization.html
    index 1a66577b..e54137bc 100644
    --- a/docs/build/html/examples/portfolio_optimization.html
    +++ b/docs/build/html/examples/portfolio_optimization.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Portfolio Optimization — openseries 2.1.9 documentation
    +  Portfolio Optimization — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/examples/single_asset.html b/docs/build/html/examples/single_asset.html
    index 84345bd1..deb03019 100644
    --- a/docs/build/html/examples/single_asset.html
    +++ b/docs/build/html/examples/single_asset.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Single Asset Analysis — openseries 2.1.9 documentation
    +  Single Asset Analysis — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html
    index ce2dde72..017e4442 100644
    --- a/docs/build/html/genindex.html
    +++ b/docs/build/html/genindex.html
    @@ -5,7 +5,7 @@
     
       
       
    -  Index — openseries 2.1.9 documentation
    +  Index — openseries 2.1.10 documentation
           
           
           
    @@ -13,7 +13,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/index.html b/docs/build/html/index.html
    index 56e77f78..7f4e055e 100644
    --- a/docs/build/html/index.html
    +++ b/docs/build/html/index.html
    @@ -6,7 +6,7 @@
       
     
       
    -  openseries Documentation — openseries 2.1.9 documentation
    +  openseries Documentation — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
    index a0177530..5b0caf34 100644
    Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ
    diff --git a/docs/build/html/search.html b/docs/build/html/search.html
    index c8f1ab83..338f5cb3 100644
    --- a/docs/build/html/search.html
    +++ b/docs/build/html/search.html
    @@ -5,7 +5,7 @@
     
       
       
    -  Search — openseries 2.1.9 documentation
    +  Search — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
         
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
    index 98b91be1..07f01724 100644
    --- a/docs/build/html/searchindex.js
    +++ b/docs/build/html/searchindex.js
    @@ -1 +1 @@
    -Search.setIndex({"alltitles":{"API Consistency Notes":[[27,null]],"API Reference":[[35,null]],"Adding and Removing Series":[[41,"adding-and-removing-series"]],"Advanced Features":[[36,null]],"Advanced Optimization with Real Data":[[32,"advanced-optimization-with-real-data"]],"Advanced Risk Metrics":[[37,"advanced-risk-metrics"]],"Advanced Weight Strategies":[[38,"advanced-weight-strategies"]],"Analysis Methods":[[1,"analysis-methods"],[24,"analysis-methods"],[40,"analysis-methods"]],"Analysis Workflow":[[40,"analysis-workflow"]],"Annualization":[[40,"annualization"]],"Architecture Overview":[[40,"architecture-overview"]],"Asset Analysis":[[38,"asset-analysis"]],"Backtesting Framework":[[32,"backtesting-framework"]],"Basic Financial Analysis":[[37,null]],"Basic Financial Metrics":[[43,"basic-financial-metrics"]],"Basic Performance Metrics":[[37,"basic-performance-metrics"]],"Basic Portfolio Optimization Setup":[[32,"basic-portfolio-optimization-setup"]],"Basic Rebalanced Portfolio Setup":[[33,"basic-rebalanced-portfolio-setup"]],"Basic Risk Metrics":[[39,"basic-risk-metrics"]],"Basic Setup":[[34,"basic-setup"]],"Benefits of export_plotly_figure":[[36,"benefits-of-export-plotly-figure"]],"Best Practices":[[27,"best-practices"],[40,"best-practices"]],"Bug Reports":[[29,"bug-reports"]],"Building Documentation":[[29,"building-documentation"]],"Business Day Alignment":[[41,"business-day-alignment"]],"Business Day Calendars":[[40,"business-day-calendars"]],"CSV Data":[[41,"csv-data"]],"Calendar Analysis":[[34,"calendar-analysis"]],"Calendar Year Returns":[[37,"calendar-year-returns"]],"Cash Management Analysis":[[33,"cash-management-analysis"]],"Changelog":[[28,null]],"Class Methods for Construction":[[1,"class-methods-for-construction"],[24,"class-methods-for-construction"]],"Code Contributions":[[29,"code-contributions"]],"Code Review Process":[[29,"code-review-process"]],"Code Standards":[[29,"code-standards"]],"Code Style":[[29,"code-style"]],"Commit Messages":[[29,"commit-messages"]],"Common Issues":[[42,"common-issues"]],"Common Issues and Solutions":[[27,"common-issues-and-solutions"]],"Common Patterns":[[43,"common-patterns"]],"Common Properties":[[1,"common-properties"],[24,"common-properties"]],"Community Guidelines":[[29,"community-guidelines"]],"Comparative Analysis":[[31,"comparative-analysis"]],"Comparison with Benchmark":[[37,"comparison-with-benchmark"]],"Complete Analysis Workflow":[[34,"complete-analysis-workflow"]],"Complete Multi-Asset Analysis Workflow":[[31,"complete-multi-asset-analysis-workflow"]],"Complete Optimization Workflow":[[32,"complete-optimization-workflow"]],"Comprehensive Report":[[37,"comprehensive-report"]],"Conditional Value at Risk (CVaR)":[[39,"conditional-value-at-risk-cvar"]],"Consistency Checks":[[40,"consistency-checks"]],"Contributing Guidelines":[[29,"contributing-guidelines"]],"Contributing to openseries":[[29,null]],"Core Concepts":[[40,null]],"Core Dependencies":[[42,"core-dependencies"]],"Core Properties":[[40,"core-properties"]],"Correlation Analysis":[[31,"correlation-analysis"],[38,"correlation-analysis"]],"Correlation and Risk":[[1,"correlation-and-risk"]],"Creating Custom Plots":[[36,"creating-custom-plots"]],"Creating OpenFrame":[[41,"creating-openframe"]],"Creating Visualizations":[[43,"creating-visualizations"]],"Custom Exceptions":[[26,"custom-exceptions"]],"Custom Weight Portfolio":[[38,"custom-weight-portfolio"]],"Daily Rebalancing vs Theoretical Portfolio":[[33,"daily-rebalancing-vs-theoretical-portfolio"]],"Data Alignment":[[40,"data-alignment"]],"Data Export and Import":[[41,"data-export-and-import"]],"Data Handling":[[41,null]],"Data Immutability":[[40,"data-immutability"]],"Data Loading":[[40,"data-loading"]],"Data Manipulation":[[1,"data-manipulation"],[24,"data-manipulation"]],"Data Quality Checks":[[41,"data-quality-checks"]],"Data Transformations":[[41,"data-transformations"],[43,"data-transformations"]],"Data Validation":[[40,"data-validation"],[41,"data-validation"]],"Date Format Validation":[[41,"date-format-validation"]],"Date Handling":[[40,"date-handling"]],"Date Handling Functions":[[0,"date-handling-functions"]],"Date Utilities":[[0,null],[21,"date-utilities"]],"Debugging":[[29,"debugging"]],"Dependencies":[[42,"dependencies"]],"Detailed Portfolio Analysis":[[33,"detailed-portfolio-analysis"]],"Development":[[35,null]],"Development Environment":[[29,"development-environment"]],"Development Installation":[[42,"development-installation"]],"Development Setup":[[29,"development-setup"]],"Development Workflow":[[29,"development-workflow"]],"Different Rebalancing Frequencies":[[33,"different-rebalancing-frequencies"]],"Distribution Analysis":[[37,"distribution-analysis"]],"Docstrings":[[29,"docstrings"]],"Documentation":[[29,"documentation"]],"Documentation Contents":[[35,"documentation-contents"]],"Documentation Contributions":[[29,"documentation-contributions"]],"Documentation Standards":[[29,"documentation-standards"]],"Drawdown Analysis":[[37,"drawdown-analysis"]],"Dropping Missing Data":[[41,"dropping-missing-data"]],"Efficient Data Loading":[[41,"efficient-data-loading"]],"Efficient Frontier":[[38,"efficient-frontier"]],"Embedding Reports in Existing HTML Pages":[[30,"embedding-reports-in-existing-html-pages"]],"Equal Weight Portfolio":[[32,"equal-weight-portfolio"],[38,"equal-weight-portfolio"]],"Equal Weight vs Custom Weight Strategies":[[33,"equal-weight-vs-custom-weight-strategies"]],"Examples":[[35,null]],"Excel Export":[[41,"excel-export"]],"Export Methods":[[1,"export-methods"],[24,"export-methods"],[40,"export-methods"]],"Export Multi-Asset Results":[[31,"export-multi-asset-results"]],"Export Optimization Results":[[32,"export-optimization-results"]],"Export Results":[[34,"export-results"]],"Export Risk Report":[[39,"export-risk-report"]],"Exporting Custom Plotly Figures":[[36,"exporting-custom-plotly-figures"]],"Exporting Results":[[43,"exporting-results"]],"Factor Analysis and Regression":[[36,"factor-analysis-and-regression"]],"Feature Requests":[[29,"feature-requests"]],"File and Network Support":[[42,"file-and-network-support"]],"Financial Calculations":[[40,"financial-calculations"]],"Financial Metrics":[[1,"financial-metrics"],[24,"financial-metrics"]],"Financial Metrics Methods":[[1,"financial-metrics-methods"],[24,"financial-metrics-methods"]],"Financial and Date Utilities":[[42,"financial-and-date-utilities"]],"Frame Management":[[1,"frame-management"]],"Frame-specific Properties":[[1,"frame-specific-properties"]],"From Arrays":[[41,"from-arrays"]],"From Fixed Rate":[[41,"from-fixed-rate"]],"From pandas DataFrame/Series":[[41,"from-pandas-dataframe-series"]],"Function Parameter Names":[[27,"function-parameter-names"]],"Function Return Values":[[27,"function-return-values"]],"Get All Metrics at Once":[[43,"get-all-metrics-at-once"]],"Getting Help":[[29,"getting-help"],[42,"getting-help"]],"Getting Started":[[29,"getting-started"]],"GitHub Releases":[[28,"github-releases"]],"HTML Report Function":[[23,"html-report-function"]],"Handling Different Date Ranges":[[41,"handling-different-date-ranges"]],"Handling Missing Data":[[41,"handling-missing-data"]],"Historical Stress Testing":[[39,"historical-stress-testing"]],"IDE Setup":[[29,"ide-setup"]],"Important API Notes":[[27,"important-api-notes"]],"Important Notes":[[35,null]],"Indices and tables":[[35,"indices-and-tables"]],"Inline HTML Output":[[36,"inline-html-output"]],"Installation":[[42,null]],"Installing from source":[[42,"installing-from-source"]],"Installing openseries":[[42,"installing-openseries"]],"Inverse Volatility Portfolio":[[32,"inverse-volatility-portfolio"]],"Issue: \u201cDo not run resample_to_business_period_ends on return series\u201d":[[27,"issue-do-not-run-resample-to-business-period-ends-on-return-series"]],"Issue: \u201cTypeError: unsupported format string passed to Series.__format__\u201d":[[27,"issue-typeerror-unsupported-format-string-passed-to-series-format"]],"Issue: \u201cTypeError: \u2018DataFrame\u2019 object is not callable\u201d":[[27,"issue-typeerror-dataframe-object-is-not-callable"]],"JSON Export":[[41,"json-export"]],"Key Concepts to Remember":[[43,"key-concepts-to-remember"]],"Key Features":[[35,"key-features"]],"Length Consistency":[[41,"length-consistency"]],"Linux":[[42,"linux"]],"Literal Types":[[26,"literal-types"]],"Loading Data":[[41,"loading-data"]],"Loading Data from External Sources":[[43,"loading-data-from-external-sources"]],"Main Classes":[[21,"main-classes"]],"Managing Multiple Series":[[40,"managing-multiple-series"]],"Maximum Diversification Portfolio":[[32,"maximum-diversification-portfolio"]],"Maximum Diversification Strategy":[[38,"maximum-diversification-strategy"]],"Mean-Variance Optimization":[[32,"mean-variance-optimization"]],"Memory Management":[[40,"memory-management"]],"Memory Usage":[[41,"memory-usage"]],"Method Categories":[[40,"method-categories"]],"Method Chaining vs Object Creation":[[27,"method-chaining-vs-object-creation"]],"Method Parameter Names":[[27,"method-parameter-names"]],"Methods":[[1,"methods"],[24,"methods"]],"Metric Names in DataFrames":[[27,"metric-names-in-dataframes"]],"Minimum Volatility Overweight Portfolio":[[32,"minimum-volatility-overweight-portfolio"]],"Minimum Volatility Overweight Strategy":[[38,"minimum-volatility-overweight-strategy"]],"Monte Carlo Portfolio Simulation":[[32,"monte-carlo-portfolio-simulation"],[38,"monte-carlo-portfolio-simulation"]],"Monte Carlo Risk Simulation":[[39,"monte-carlo-risk-simulation"]],"Monthly and Annual Analysis":[[37,"monthly-and-annual-analysis"]],"Multi-Asset Analysis":[[31,null]],"Multi-Factor Model Analysis":[[36,"multi-factor-model-analysis"]],"Mutation and data layers":[[40,"mutation-and-data-layers"]],"NaN Handling Strategies":[[41,"nan-handling-strategies"]],"Next Steps":[[43,"next-steps"]],"Non-numerical Properties":[[24,"non-numerical-properties"]],"OpenFrame":[[1,null]],"OpenTimeSeries":[[24,null]],"Optional Dependencies":[[42,"optional-dependencies"]],"Other Utilities":[[21,"other-utilities"]],"Outlier Detection":[[41,"outlier-detection"]],"Performance Analysis":[[34,"performance-analysis"]],"Performance Attribution":[[31,"performance-attribution"],[33,"performance-attribution"],[38,"performance-attribution"]],"Performance Comparison Analysis":[[32,"performance-comparison-analysis"]],"Performance Considerations":[[41,"performance-considerations"]],"Platform-Specific Notes":[[42,"platform-specific-notes"]],"Portfolio Analysis":[[1,"portfolio-analysis"],[38,null],[43,"portfolio-analysis"]],"Portfolio Comparison":[[32,"portfolio-comparison"],[38,"portfolio-comparison"]],"Portfolio Constraints":[[22,"portfolio-constraints"]],"Portfolio Construction":[[40,"portfolio-construction"]],"Portfolio Creation":[[27,"portfolio-creation"]],"Portfolio Optimization":[[22,"portfolio-optimization"],[32,null],[38,"portfolio-optimization"]],"Portfolio Simulation":[[22,"portfolio-simulation"]],"Portfolio Tools":[[21,"portfolio-tools"],[22,null]],"Price and Return Conversions":[[41,"price-and-return-conversions"]],"Properties":[[1,"properties"],[24,"properties"]],"Properties vs Methods":[[27,"properties-vs-methods"],[40,"properties-vs-methods"]],"Pull Request Process":[[29,"pull-request-process"]],"Python Version Support":[[35,"python-version-support"]],"Quick Start":[[35,"quick-start"]],"Quick Start Guide":[[43,null]],"Ranking Analysis":[[31,"ranking-analysis"]],"Real-World Application Example":[[33,"real-world-application-example"]],"Real-World Fund Portfolio Optimization":[[32,"real-world-fund-portfolio-optimization"]],"Rebalanced Portfolio Simulation":[[33,null]],"Rebalancing Analysis":[[38,"rebalancing-analysis"]],"Release Notifications":[[28,"release-notifications"]],"Release Process":[[29,"release-process"]],"Report Generation":[[23,null]],"Reporting":[[30,null]],"Resampling":[[40,"resampling"],[41,"resampling"]],"Responsive Design":[[23,"responsive-design"]],"Return Calculations":[[40,"return-calculations"]],"Return Values":[[23,"return-values"]],"ReturnSimulation Class":[[25,"returnsimulation-class"]],"Returns:":[[1,"returns"],[1,"id1"],[1,"id2"],[1,"id3"],[1,"id4"],[1,"id5"],[1,"id6"],[1,"id7"],[1,"id8"],[1,"id9"],[1,"id10"],[1,"id11"],[1,"id12"],[1,"id13"],[1,"id14"],[1,"id15"],[1,"id16"],[1,"id17"],[1,"id18"],[1,"id19"],[1,"id20"],[1,"id21"],[24,"returns"],[24,"id1"],[24,"id2"],[24,"id3"],[24,"id4"],[24,"id5"],[24,"id6"],[24,"id7"],[24,"id8"],[24,"id9"],[24,"id10"],[24,"id11"],[24,"id12"],[24,"id13"],[24,"id14"],[24,"id15"],[24,"id16"],[24,"id17"],[24,"id18"],[24,"id19"],[24,"id20"],[24,"id21"]],"Risk Analysis":[[34,"risk-analysis"],[37,"risk-analysis"]],"Risk Attribution":[[38,"risk-attribution"]],"Risk Decomposition":[[39,"risk-decomposition"]],"Risk Limits and Controls":[[39,"risk-limits-and-controls"]],"Risk Management":[[39,null]],"Risk Metrics":[[40,"risk-metrics"]],"Risk Monitoring Dashboard":[[39,"risk-monitoring-dashboard"]],"Risk Parity Portfolio":[[38,"risk-parity-portfolio"]],"Risk-Adjusted Performance":[[39,"risk-adjusted-performance"]],"Risk-Adjusted Returns":[[37,"risk-adjusted-returns"]],"Risk-Based Portfolio Strategies":[[32,"risk-based-portfolio-strategies"]],"Risk-Return Analysis":[[31,"risk-return-analysis"]],"Rolling Analysis":[[1,"rolling-analysis"],[34,"rolling-analysis"],[37,"rolling-analysis"]],"Rolling Factor Analysis":[[36,"rolling-factor-analysis"]],"Rolling Portfolio Analysis":[[38,"rolling-portfolio-analysis"]],"Rolling Risk Analysis":[[39,"rolling-risk-analysis"]],"Running Tests":[[29,"running-tests"]],"Scenario Analysis":[[39,"scenario-analysis"]],"Sector/Style Analysis":[[31,"sector-style-analysis"]],"Setting Up":[[37,"setting-up"]],"Setting Up Multi-Asset Analysis":[[31,"setting-up-multi-asset-analysis"]],"Setting Up Risk Analysis":[[39,"setting-up-risk-analysis"]],"Setting Up the Data":[[38,"setting-up-the-data"]],"Simple Portfolio Construction":[[38,"simple-portfolio-construction"]],"Simulation":[[21,"simulation"],[25,null]],"Single Asset Analysis":[[34,null]],"Statistical Analysis":[[1,"statistical-analysis"]],"Strategy Comparison with Error Handling":[[38,"strategy-comparison-with-error-handling"]],"Stress Testing":[[31,"stress-testing"],[38,"stress-testing"],[39,"stress-testing"]],"Subset Portfolio Analysis":[[33,"subset-portfolio-analysis"]],"Summary Report":[[38,"summary-report"]],"Summary and Best Practices":[[33,"summary-and-best-practices"]],"Summary and Interpretation":[[37,"summary-and-interpretation"]],"System Requirements":[[42,"system-requirements"]],"Test Coverage":[[29,"test-coverage"]],"Test Structure":[[29,"test-structure"]],"Testing":[[29,"testing"]],"The OpenFrame Class":[[40,"the-openframe-class"]],"The OpenTimeSeries Class":[[40,"the-opentimeseries-class"]],"Time Series Analysis":[[31,"time-series-analysis"]],"Time Series Transformations":[[34,"time-series-transformations"]],"Transaction Cost Analysis":[[33,"transaction-cost-analysis"]],"Transformation Methods":[[40,"transformation-methods"]],"Transformations":[[1,"transformations"],[24,"transformations"]],"Troubleshooting":[[42,"troubleshooting"]],"Tutorials":[[35,null]],"Type Aliases":[[26,"type-aliases"]],"Type Hints":[[29,"type-hints"]],"Type Safety":[[40,"type-safety"]],"Types and Enums":[[21,"types-and-enums"],[26,null]],"Types of Contributions":[[29,"types-of-contributions"]],"Understanding Rebalanced Portfolio Simulation":[[33,"understanding-rebalanced-portfolio-simulation"]],"User Guide":[[35,null]],"Using Real Fund Data for Optimization":[[32,"using-real-fund-data-for-optimization"]],"Using conda":[[42,"using-conda"]],"Using pip (recommended)":[[42,"using-pip-recommended"]],"Using the Built-in HTML Report":[[30,"using-the-built-in-html-report"]],"Using with Plotly Express":[[36,"using-with-plotly-express"]],"Utility Functions":[[21,"utility-functions"],[24,"utility-functions"]],"Validation Classes":[[26,"validation-classes"]],"Validation Methods":[[41,"validation-methods"]],"Value Types":[[26,"value-types"],[40,"value-types"]],"Value Validation":[[41,"value-validation"]],"Value at Risk (VaR) Analysis":[[39,"value-at-risk-var-analysis"]],"ValueType Specification":[[27,"valuetype-specification"]],"Verifying Installation":[[42,"verifying-installation"]],"Visualization":[[1,"visualization"],[22,"visualization"],[24,"visualization"],[34,"visualization"],[37,"visualization"]],"Weight Strategy Details":[[32,"weight-strategy-details"]],"Windows":[[42,"windows"]],"Working with Business Days":[[43,"working-with-business-days"]],"Working with Multiple Assets":[[41,"working-with-multiple-assets"]],"Working with Multiple Assets (OpenFrame)":[[43,"working-with-multiple-assets-openframe"]],"Working with Real Data Sources":[[41,"working-with-real-data-sources"]],"Writing Tests":[[29,"writing-tests"]],"Yahoo Finance Integration":[[41,"yahoo-finance-integration"]],"Your First OpenTimeSeries":[[43,"your-first-opentimeseries"]],"macOS":[[42,"macos"]],"openseries Documentation":[[35,null]],"openseries package":[[21,null]],"openseries.OpenFrame":[[2,null]],"openseries.OpenTimeSeries":[[3,null]],"openseries.ReturnSimulation":[[4,null]],"openseries.ValueType":[[5,null]],"openseries.constrain_optimized_portfolios":[[6,null]],"openseries.date_fix":[[7,null]],"openseries.date_offset_foll":[[8,null]],"openseries.efficient_frontier":[[9,null]],"openseries.export_plotly_figure":[[10,null]],"openseries.generate_calendar_date_range":[[11,null]],"openseries.get_previous_business_day_before_today":[[12,null]],"openseries.holiday_calendar":[[13,null]],"openseries.load_plotly_dict":[[14,null]],"openseries.offset_business_days":[[15,null]],"openseries.prepare_plot_data":[[16,null]],"openseries.report_html":[[17,null]],"openseries.sharpeplot":[[18,null]],"openseries.simulate_portfolios":[[19,null]],"openseries.timeseries_chain":[[20,null]]},"docnames":["api/datefixer","api/frame","api/generated/openseries.OpenFrame","api/generated/openseries.OpenTimeSeries","api/generated/openseries.ReturnSimulation","api/generated/openseries.ValueType","api/generated/openseries.constrain_optimized_portfolios","api/generated/openseries.date_fix","api/generated/openseries.date_offset_foll","api/generated/openseries.efficient_frontier","api/generated/openseries.export_plotly_figure","api/generated/openseries.generate_calendar_date_range","api/generated/openseries.get_previous_business_day_before_today","api/generated/openseries.holiday_calendar","api/generated/openseries.load_plotly_dict","api/generated/openseries.offset_business_days","api/generated/openseries.prepare_plot_data","api/generated/openseries.report_html","api/generated/openseries.sharpeplot","api/generated/openseries.simulate_portfolios","api/generated/openseries.timeseries_chain","api/openseries","api/portfoliotools","api/report","api/series","api/simulation","api/types","api_consistency","development/changelog","development/contributing","examples/custom_reports","examples/multi_asset","examples/portfolio_optimization","examples/rebalanced_portfolio","examples/single_asset","index","tutorials/advanced_features","tutorials/basic_analysis","tutorials/portfolio_analysis","tutorials/risk_management","user_guide/core_concepts","user_guide/data_handling","user_guide/installation","user_guide/quickstart"],"envversion":{"sphinx":66,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1},"filenames":["api/datefixer.rst","api/frame.rst","api/generated/openseries.OpenFrame.rst","api/generated/openseries.OpenTimeSeries.rst","api/generated/openseries.ReturnSimulation.rst","api/generated/openseries.ValueType.rst","api/generated/openseries.constrain_optimized_portfolios.rst","api/generated/openseries.date_fix.rst","api/generated/openseries.date_offset_foll.rst","api/generated/openseries.efficient_frontier.rst","api/generated/openseries.export_plotly_figure.rst","api/generated/openseries.generate_calendar_date_range.rst","api/generated/openseries.get_previous_business_day_before_today.rst","api/generated/openseries.holiday_calendar.rst","api/generated/openseries.load_plotly_dict.rst","api/generated/openseries.offset_business_days.rst","api/generated/openseries.prepare_plot_data.rst","api/generated/openseries.report_html.rst","api/generated/openseries.sharpeplot.rst","api/generated/openseries.simulate_portfolios.rst","api/generated/openseries.timeseries_chain.rst","api/openseries.rst","api/portfoliotools.rst","api/report.rst","api/series.rst","api/simulation.rst","api/types.rst","api_consistency.rst","development/changelog.rst","development/contributing.rst","examples/custom_reports.rst","examples/multi_asset.rst","examples/portfolio_optimization.rst","examples/rebalanced_portfolio.rst","examples/single_asset.rst","index.rst","tutorials/advanced_features.rst","tutorials/basic_analysis.rst","tutorials/portfolio_analysis.rst","tutorials/risk_management.rst","user_guide/core_concepts.rst","user_guide/data_handling.rst","user_guide/installation.rst","user_guide/quickstart.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"0f":39,"10i":37,"11articlecox":[1,2],"1e":29,"1f":[37,40],"1y":[34,41],"2f":[31,32,33,34,35,37,38,39,40,43],"2x2":23,"2y":[34,41,43],"3b":43,"3f":[29,31,32,36,38,39],"3y":[30,31,33,36,39],"4f":[32,33,36,38,39],"5th":39,"5y":[32,34,35,37,38],"75th":31,"960px":23,"A":[0,1,2,3,6,14,15,22,24,26,41],"ALL":34,"AT":39,"All":29,"An":[1,2,3,20,24],"And":[1,2],"At":[1,3,24,26,29],"BOTH":[1,2],"Be":29,"Both":[21,40],"By":26,"Down":[1,2],"For":[1,21,23,24,28,29,31,32,35,36,39,41,42,43],"Here":[31,32,33,34,35,43],"How":[1,10,24],"If":[0,1,2,3,7,10,13,15,23,24,29,40,42],"It":[0,1,2,3,15,24,25,30,33,35],"MOST":31,"Most":[1,24,32,42],"My":[10,27,30],"NOT":27,"No":[27,31,39,42],"On":[40,42],"Or":[27,35],"Other":35,"Some":27,"The":[0,1,2,3,4,6,7,8,9,12,15,16,18,19,20,21,22,23,24,25,26,27,29,30,32,33,35,36,38,41,42],"These":[3,24,27],"They":[26,27],"This":[1,2,4,10,21,25,26,27,29,30,31,32,33,34,36,37,38,39,40,41,42,43],"To":[1,2,27,29,42],"Up":[1,2,35],"We":29,"When":[10,23,27,29,30,32,38,41],"Which":[18,22],"With":[27,41],"You":[36,37,38,42],"Your":35,"_":[32,34],"__init__":[1,2,3,4,5,26,29],"__metadata__":26,"__version__":42,"_analysi":34,"_build":29,"_commonmodel":[1,2,3,21,24],"aapl":[30,31,34,36,39,41],"ab":[29,32,33,37,38,39],"abov":[1,2,24,26],"absolut":[1,24,33,41],"acceler":42,"accept":[1,24],"access":27,"accord":[0,3,4,8,11,12,13,15,24,25],"account":33,"accru":[3,24],"accrual":[3,24,33],"acf":[1,3,24],"acquisit":42,"across":[1,2,3,24,33,40],"activ":[29,33,39,42],"actual":[29,32,33,37,40],"actual_length":41,"actual_return":29,"adapt":[1,23,24,36,37],"add":[0,1,2,3,8,11,12,13,15,18,22,24,29,32,36,38,39],"add_logo":[1,17,18,22,23,24,32],"add_timeseri":[1,2,41,43],"add_trac":36,"addit":[29,38,42],"address":29,"adj_r_squar":36,"adjac":[1,24],"adjust":[0,1,2,3,8,15,24,35,36],"advanc":35,"advantag":36,"agg":38,"aggreg":38,"aim":32,"alert":39,"alia":26,"alias":35,"align":[1,2,3,24,26,38,43],"align_index_to_local_cday":[1,24,33,40,41,43],"all_asset":39,"all_metr":[27,31,34,37,43],"all_portfolio":38,"all_properti":[1,2,3,24,27,31,32,33,34,37,38,39,40,41,43],"all_seri":38,"alloc":[6,9,22,43],"allow":[1,2,3,4,6,9,22,24,25,26,36],"allowed_str":26,"almost":[9,22],"along":[1,9,22,24],"alongsid":[1,24],"alpha":[0,1,2,3,4,8,11,12,13,15,23,24,25],"alphabet":[31,39],"alreadi":[29,42],"also":[1,2,26,27,36,38,40,42],"alter":[3,24],"altern":[32,39,43],"alway":[1,2,3,4,24,25,29,32,40],"amazon":31,"among":32,"amzn":[31,41],"analys":[3,24],"analysi":[0,21,22,23,25,30,35,41,42],"analysis_fram":36,"analyz":[24,31,33,34,35,37,38,39,43],"ani":[1,3,4,24,26,29,36,37,38],"annot":[1,2,3,4,24,25,26],"annual":[1,2,4,23,24,25,31,32,33,34,35,38,39,41,42,43],"annual_return":[37,40],"annual_vol":40,"anomali":32,"anoth":[1,24],"anyth":[0,15,26],"api":[21,29,32,40,43],"append":[29,30,31,32,33,36,38,39,41,43],"appl":[30,31,34,36,39,41,42],"apple_analysi":34,"apple_data":34,"apple_drawdown":34,"apple_metr":34,"apple_return":34,"appli":[20,24,32,40],"applic":[32,35,36],"approach":[29,32,33,39],"appropri":[29,41],"approv":29,"approxim":[29,33],"ar1_coef":[4,25],"arbitrary_types_allow":[1,2,3,4,24,25],"architectur":35,"area":29,"aren":36,"arg":[26,29],"argument":[0,3,4,8,11,12,13,15,26,27],"arithmet":[1,2,4,24,25,37],"arithmetic_ret":[1,2,3,24,26,37],"arithmetic_ret_func":[1,24],"arithmetic_return":37,"arithmeticmean":[1,24],"around":[35,40],"array":[3,24,29,40],"articl":[1,2,3,24],"ascend":31,"ascii_on":[3,24,26],"ask":29,"asp":[1,2,3,24],"assert_frame_equ":29,"assess":[37,39],"asset":[1,2,6,9,16,21,22,23,24,27,30,32,33,35,36,37,39,40],"asset1":[31,38],"asset2":[31,38],"asset_a":36,"asset_b":36,"asset_column":[1,2],"asset_comparison":36,"asset_data":31,"asset_group":31,"asset_metr":[31,38,39],"asset_mov":39,"asset_nam":[32,33,38],"asset_param":33,"asset_perform":33,"asset_return":38,"asset_vol":[38,39],"assign":32,"associ":[3,24],"assum":[1,2,3,20,24,37,38,39,41],"assumpt":[1,24],"asymmetri":37,"atleastoneframeerror":26,"attempt":26,"attent":27,"attribut":[1,2,3,4,5,26,35,43],"auto":[10,36],"auto_open":[1,10,17,18,22,23,24,32,36],"autocorr":[1,2,3,24,26],"autocorr_func":[1,24],"autocorrel":[1,3,4,24,25],"autom":29,"automat":[1,23,24,33,36,40,41,42,43],"autoregress":[4,25],"avail":[1,2,3,24,32,33,36,38,39,40,42],"averag":[1,2,3,4,24,25,31,33,34,36,38,39],"avg":31,"avg_corr":38,"avg_correl":[31,38],"avg_return":31,"avg_sharp":31,"avg_stress_return":31,"avg_vol":31,"avoid":[3,24,27],"axi":[1,24,38],"b":[1,2,3,24,26,29,41],"back":[20,24,41],"backfil":[1,2,3,24,26],"backtest":[33,35],"backtest_result":32,"backward":[0,8,12,29],"bal_weight":[1,2,33,38],"bar":[1,17,23,24,26,36,37,43],"bar_freq":[17,23],"bargap":[1,24],"bargroupgap":[1,24],"barmod":[1,24],"base":[1,2,3,4,5,16,22,24,25,26,29,35,37,39,43],"base_column":[1,2],"base_zero":[1,2],"basecci":[3,24,32],"baselin":32,"basemodel":[4,21,25,26,40],"basic":[29,35,38,40],"basket":[1,2],"batch":[1,41],"befor":[26,27,29,40],"behav":26,"behavior":29,"behind":40,"benchmark":[1,2,23,30,35],"benefit":[26,31,38],"best":[29,32,35,38,39],"best_idx":39,"best_strategi":32,"beta":[1,2,5,23,26,36,40],"better":[23,31,42],"beyond":[38,39],"bfgs":26,"bfill":[1,2,3,24,26],"bias":[1,2,3,24],"bin":[1,24,29,42],"bind":26,"bme":[1,2,3,24,26,34,37,40,41,43],"bnd":32,"bodi":[23,30],"bond":[32,33,36,37,38],"bond_data":37,"bond_tick":37,"bool":[0,1,2,3,8,9,10,14,17,18,22,23,24],"boolean":[3,24],"bothstartandenderror":26,"bottleneck":42,"bought":[1,2],"bound":[1,6,9,22,24,26],"box":[1,3,24],"bqe":[1,2,3,24,26,40,41],"branch":29,"breach":39,"break":[29,37],"breakpoint":23,"brownian":[4,25],"browser":[1,10,18,22,23,24,37,43],"build":[40,42],"built":[27,29,32,35,40,41,43],"bump":[0,12,15,29],"busdaycalendar":[0,13],"busi":[0,1,2,3,8,11,12,13,15,24,29,35],"buy":33,"buysell_qti":[33,38],"bye":[1,2,3,17,23,24,26,37,41],"byte":26,"c":[1,2,24,35,41,42],"cagr":[1,2,23,24,37,43],"calc_rang":[1,24],"calcul":[0,1,2,3,21,24,26,29,31,32,33,35,36,37,38,39,43],"calculate_return":29,"calculate_sharpe_ratio":29,"calendar":[0,1,2,3,8,11,13,24,29,35,41,42,43],"call":[3,24,27],"calmar":32,"can":[0,3,8,10,11,12,13,15,23,24,26,27,30,31,32,33,36,37,38,40,42,43],"cap":[31,36],"capabl":[21,23,29,43],"capit":[1,2],"capm":[1,2],"captor":[1,14,18,22,24,32],"captorab":42,"captorlogotyp":14,"captur":[1,2,23],"capture_ratio_func":[1,2],"captureratio":[1,2],"carlo":35,"case":[1,2,3,24,29,39,43],"cash":[1,2,35],"cash_analysi":33,"cash_index":[1,2],"cash_pct":33,"cash_posit":33,"cash_seri":33,"categori":35,"caught":40,"cci":26,"cd":[29,42],"cdn":[1,10,17,18,22,23,24,26,36],"certain":32,"cg":26,"chain":[20,24,40],"chang":[1,10,24,28,29,32,36,37,38,39,40,41],"changelog":[29,35],"characterist":[31,37,38,39],"chart":[23,36,37,43],"check":[27,29,35,39,42],"checker":26,"checkout":29,"chi":[3,24],"choic":40,"chosen":[1,2,3,24],"class":[2,3,4,5,29,35,43],"classmethod":[3,4,24,25],"classvar":26,"clean":[40,41],"clear":29,"clone":[29,42],"close":[5,26,27,30,31,32,33,34,35,36,37,38,39,40,41,43],"closer":33,"cluster":[1,24],"co":[1,2],"cobyla":26,"code":[0,1,3,4,8,11,12,13,15,24,25,42],"coeffici":[1,2,4,25,36],"col":[32,36],"collect":[1,40],"colour":[18,22],"column":[1,2,3,24,31,38,39,40,41],"column_nmbr":[3,24,40],"columns_lvl_on":[1,2],"columns_lvl_zero":[1,2,32,40],"com":[1,2,3,24,29,31,42],"combin":[3,24,26],"comment":39,"commit":42,"commod":[33,38],"common":[0,2,20,21,31,35,38,40,41],"compar":[1,2,23,24,32,33,35,37,38,39,40,43],"comparison":[1,2,3,21,23,24,29,30,31,33,35,36,39,43],"comparison_fram":[30,32,33,37,38,39],"comparison_metr":[32,33,37,38],"comparison_seri":33,"compat":[23,29,42],"compil":42,"complet":[23,35,38,39,43],"compon":[1,2,24],"compound":[1,24],"comprehens":[23,24,29,31,32,33,34,35,38,39,41,43],"comput":[1,3,24,41,42],"concaten":40,"concentr":39,"concept":35,"concis":29,"conda":[28,29,35],"condit":[1,24,29,35,37,40],"conditional_value_at_risk":[1,24],"confid":[37,39,40],"confidence_level":39,"config":[1,2,3,4,10,14,24,25,26,32],"config_and_layout":14,"configdict":[1,2,3,4,24,25,26],"configur":[1,2,3,4,24,25,26,29,32],"conflict":42,"conform":[1,2,3,4,24,25,26],"consecut":39,"consid":[29,33,40,41,42],"consider":35,"consist":[21,35,36],"consol":29,"constitu":[1,2,3,19,22,24,30,31,32,33,36,37,38,39,40,41,43],"constr":26,"constrain":[6,22,26],"constrain_optimized_portfolio":22,"constraint":35,"construct":[26,29,32,35,43],"contain":[1,2,10,21,23,24,30,33,36],"content":23,"contravari":26,"contrib":38,"contribut":[33,35,38,39,42],"control":[1,2,3,24,35],"conveni":[3,24],"convert":[1,2,3,10,24,27,31,32,34,37,38,39,40,41,42,43],"coordin":[1,24],"copi":[1,2,3,24,31,40,43],"core":[3,24,26,35],"corp":[31,39],"corr":[31,38],"corr_pair":31,"corr_scal":[1,2],"correct":[3,24,26,27,42],"correl":[2,5,26,32,35,36,37,39,43],"correl_matrix":[1,2,27,31,32,37,38,39,43],"correlation_matrix":[31,37,38,39],"cost":[35,38],"count":[38,39],"countri":[0,1,3,4,8,11,12,13,15,24,25,26,33,40,41,43],"countriesnotstringnorliststrerror":[0,13,26],"countriestyp":[0,1,3,4,8,11,12,13,15,24,25,26],"countryinput":26,"countrysettyp":26,"countrystringtyp":26,"cov":29,"covari":26,"cover":[36,41],"cox":[1,2],"crash":39,"creat":[1,2,3,4,18,22,23,24,25,26,27,29,30,31,32,33,34,35,37,38,39,40,42],"creation":29,"criteria":31,"crucial":38,"css":[1,10,23,24,30,36],"csv":34,"cubic":[1,24],"cumprod":38,"cumsum":36,"cumul":[1,2,3,23,24,38,40,41,42,43],"cumulative_contrib":38,"currenc":[3,24,26,32],"currencystringtyp":[3,24,26],"current":[6,16,18,22,29,31,32,34,36,37,39],"current_d":39,"current_metr":39,"current_portfolio":32,"current_portfolio_df":32,"curv":[1,24],"curve_point":[6,22],"curve_typ":[1,24],"custom":[23,27,29,30,35,40,41,43],"custom_dashboard":36,"custom_df":43,"custom_fram":43,"custom_holiday":[0,1,8,11,12,13,15,24],"custom_portfolio":[38,43],"custom_report":30,"custom_weight":[33,38],"custom_weight_portfolio":33,"cut":[9,22],"cvar":[1,5,24,26,34,35,37,40,43],"cvar_90":37,"cvar_95":[37,40],"cvar_99":37,"cvar_down":[1,2,3,24,26,34,37,39,40,43],"cvar_down_func":[1,24,37,39],"cvar_valu":39,"d":[1,3,4,24,25,26,37,39],"d_rang":[3,24],"daili":[1,2,3,23,24,34,35,37,38,39,40,41,42,43],"daily_var_95":39,"dashboard":[35,36],"data":[0,2,3,4,6,7,9,10,16,17,18,19,21,22,23,25,27,29,30,31,33,34,35,36,37,39,42],"data_typ":33,"databas":[3,24],"datafram":[1,2,3,4,9,16,18,19,22,24,25,26,31,32,36,39,40],"dataset":[40,41,42],"date":[1,2,3,4,7,8,11,12,13,15,20,23,24,25,26,29,32,33,34,35,36,37,38,39,43],"date_fix":0,"date_list":40,"date_offset_fol":0,"date_rang":[3,24,36,41],"datealignmenterror":[1,24,26],"datefix":[0,29],"datelisttyp":[3,24,26],"datestringtyp":26,"datetim":[0,1,7,24,26,33,37,39,40,41,42,43],"datetime64":26,"datetimeindex":[3,24,41],"datetyp":[0,7,8,26],"dateutil":42,"day":[0,1,2,3,4,8,11,12,15,24,25,26,29,31,33,34,35,37,38,39],"day_chunk":[1,2,3,24],"days_in_year":[3,24],"daysinyeartyp":[1,2,3,4,24,25,26],"dbc":38,"dd":[3,24,31,33,38],"ddate":[0,15],"dec1":26,"dec2":26,"declar":26,"decomposit":35,"dedic":26,"deepcopi":40,"def":29,"default":[0,1,2,3,4,6,8,9,10,11,12,13,14,15,18,20,22,23,24,25,26,27,29,36],"defaultinterpreterpath":29,"defin":[1,24,31,32,38,39],"definit":26,"del":40,"delbert":[1,2],"delet":[1,2,3,24],"delete_lvl_on":[3,24],"delete_timeseri":[1,2,41],"demean":[1,24],"demonstr":[30,32,33,34,36,37,38,39],"denomin":[1,2],"densiti":26,"depend":[1,2,23,29,35,36],"dependent_column":[1,2],"dependent_variable_idx":36,"deriv":[1,10,24],"describ":29,"descript":[29,34,37,40,43],"design":[21,27,35,40],"desir":26,"desktop":[1,23,24,30,36],"detail":[1,2,23,26,28,29,31,35,38,43],"detailed_portfolio":[33,38],"detect":[1,23,24,40],"determin":[0,1,2,3,8,18,22,24],"dev":[1,24,29,42],"develop":32,"deviat":[1,2,4,24,25,37,39,40],"devic":[1,23,24,36],"df":[36,41],"dframe":[3,4,24,25,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"diagnost":24,"dict":[1,2,14,24],"dictionari":[1,2,3,4,10,24,25,26],"differ":[0,1,2,3,7,24,27,29,31,32,35,36,37,38,39,40],"diffus":[4,25],"dir":[1,24],"direct":[23,31,32,34,36],"directori":[1,17,18,22,23,24,29],"directorypath":[1,18,22,24],"discuss":29,"display":[1,10,23,24,27,30,32,43],"displaymodebar":36,"distribut":[1,4,24,25,32,35,36,39,42,43],"div":[1,10,23,24,26,30,32,36,40],"div_id":10,"diversif":40,"diversifi":[38,39],"divid":[1,2,3,24],"divisor":[3,24],"dlta_degr_freedm":[1,2,3,24],"doc":29,"doctyp":[23,30],"document":[23,36,43],"doe":[0,1,15,24,40],"doesn":27,"dogleg":26,"domest":[3,24],"don":[1,2,27],"download":[31,33,34,35,37,38,39,41,43],"downsid":[1,24,37,39,40],"downside_devi":[1,2,3,24,26,37,39],"downside_vol":37,"downstream":[1,24],"draw":[1,24],"drawdown":[1,24,27,31,32,33,34,35,36,38,39,40,43],"drift":33,"drift_adjust":[1,24],"drop":[1,24,26],"drop_extra":[1,2,33,38],"dropna":41,"dt":[0,1,2,3,4,7,8,11,12,15,24,25,33,40,42,43],"due":26,"dummi":36,"dump":[1,24],"duplic":26,"dure":[1,2,31,38],"e":[1,24,26,29,40,42],"eaf":38,"earli":41,"earlier":[1,20,24],"early_seri":41,"easiest":42,"econom":[1,2],"edg":29,"educ":[1,2],"eem":38,"efa":[36,38],"effect":[27,40,41],"effici":[6,9,18,22,31,32],"efficient_fronti":[16,18,22,27,32,38],"efficient_threshold":31,"efram":[9,22,27,32,38],"either":[1,24],"elif":[33,37,39],"els":[31,32,33,37,39],"emb":30,"embed":[23,35,36],"emerg":[32,38],"empathi":29,"empti":[1,14,24,26,29],"en":[1,24],"enabl":29,"encod":30,"encount":[32,42],"end":[0,1,2,3,4,11,24,25,26,33,40,41,42,43],"end_cut":[1,2],"end_dat":[33,41],"end_dt":[3,24],"endyear":[0,13],"energi":32,"enforc":41,"engin":37,"enhanc":29,"ensur":[29,40,42,43],"entir":41,"enum":[5,35,40,43],"enumer":[31,32,33,36,38,39],"environ":42,"eq_weight":[1,2,26,27,31,32,33,38,39,40,43],"equal":[1,2,31,35,39,40,43],"equal_weight":[1,2,31,33,38,39],"equal_weight_portfolio":[32,33,38],"equal_weight_portfolio_df":[32,38],"equiti":[32,33],"equival":[1,24],"error":[1,2,23,29,33,40,41,42],"especi":29,"estat":32,"etc":[26,29,43],"etf":[32,39],"etf_tick":32,"evalu":[33,39],"event":[38,39],"everi":40,"everyth":29,"ewma":[1,2,3,5,24,26],"ewma_risk":[1,2],"ewma_var":[5,26],"ewma_var_func":[3,24],"ewma_vol":[5,26],"ewma_vol_func":[3,24],"exact":26,"examin":[33,37],"exampl":[10,29,30,31,32,34,36,40,42,43],"exceed":[1,24],"excel":[1,24,31,32,34,37,38,39,42,43],"excel_writ":37,"excelwrit":39,"except":[24,32,35,36,38],"exchang":42,"exchange_calendar":[0,1,3,4,8,11,12,13,15,24,25],"exclud":[3,9,22,24,33],"execut":33,"exist":[1,23,24,26,29,31,34,35,37,40],"exogen":[1,2],"expect":[27,29,32,37,38,39,40,41],"expected_length":41,"expected_return":29,"explain":40,"explan":29,"explicit":[3,4,26,27,40],"explor":43,"exponenti":[1,2,3,24],"export":[10,35,38],"extend":[36,38],"extens":[1,24,29],"extern":35,"extra":26,"extract":[33,39],"extrem":[37,39],"extreme_events_1pct":39,"extreme_events_5pct":39,"f":[27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"factor":[1,2,3,24,35],"factor_nam":36,"factor_seri":36,"factor_tick":36,"factori":[3,24],"fail":[31,32,33,34,36,37,38,39,40,41],"failur":38,"fall":40,"fals":[0,1,2,3,8,10,17,23,24,26,31,32,33,36,38,39],"fama":36,"faster":42,"fat":[37,39],"favor":40,"featur":23,"fee":[3,20,24],"feedback":29,"ffill":[1,2,3,24,26],"field":[3,4],"fieldinfo":[1,2,4,25,26],"fig":[10,34,36],"fig_config":[10,36],"figdict":32,"figur":[1,10,17,18,22,23,24,30,35],"fiilenam":40,"file":[1,10,17,18,22,23,24,26,29,30,36,38,40],"fileexistserror":[1,24],"filenam":[1,10,17,18,22,23,24,30,34,36,37,41,43],"filepath":30,"fill":[1,24,26,40,41,43],"filter":[27,31],"filterwarn":39,"final":[33,38],"final_contrib":38,"final_twr":33,"financ":[1,2,42],"financi":[0,3,4,21,23,25,29,34,35,36],"find":[0,12,31,32,38],"finit":41,"first":[0,1,2,13,15,24,29,31,35,37,38,39,40],"first_column":[1,2],"first_idx":[1,3,24,26,29,31,32,33,34,37,38,39,40,41,43],"first_indic":[1,2,26],"fit":[1,2],"fitted_seri":[1,2],"fix":[3,24,29],"fixerd":[0,7],"flag":[3,14,24],"flight":39,"float":[1,2,3,4,6,9,20,22,24,25,26,29,32,40],"float64":[9,16,22],"focus":[29,31,38,40],"folder":[1,24],"follow":[0,8,29,40,42],"forg":[28,29,35,42],"fork":29,"form":[3,4],"format":[0,1,2,7,24,26,29,36,40,42],"formatted_export":41,"formula":40,"forward":[0,8,41,43],"found":[0,1,2,12,24,41],"foundat":[37,39,43],"frame":[2,26,27,30,31,32,33,36,37,38,39,40,41,43],"frame_outli":41,"frame_valu":41,"framework":[35,38,42],"free":[1,24,29],"french":36,"freq":[1,2,3,24,33,34,37,38,40,41,43],"frequenc":[1,2,3,24,35,38,40,41],"frequency_nam":[33,38],"frequent":[3,24,35],"fresh":[42,43],"friction":33,"from_1d_rate_to_cumret":[3,24],"from_array":[3,24,29,32,37,40,41],"from_dat":[1,2,3,24],"from_deepcopi":[1,2,3,24,27,37,40,43],"from_df":[3,24,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"from_dt":[1,24],"from_fixed_r":[3,24,41],"from_gbm":[4,25],"from_lognorm":[4,25,33,40,42,43],"from_merton_jump_gbm":[4,25],"from_norm":[4,25],"front":[20,24],"frontier":[6,9,22,32],"frontier_df":[27,32,38],"frontier_point":[9,22,32],"full":[10,24,33,40,41],"full_portfolio":33,"fulli":[1,24],"function":[1,2,3,6,9,10,16,20,22,26,29,30,35,36,39],"fund":[1,2,33,35],"fund_univers":32,"fund_universe_isin":32,"fundament":[37,39,40],"g":[1,24,26,40],"gap":[1,24,41],"gb":[40,41,43],"ge":[1,2,4,25,26],"general":[1,24,32],"generat":[0,1,3,4,11,13,17,19,22,24,25,30,32,33,35,36,37,38,39,41],"generate_calendar_date_rang":0,"generic":26,"geo_ret":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,40,42,43],"geo_ret_func":[1,24],"geometr":[4,25,27,31,33,38,40],"get":[27,31,32,33,34,35,37,38,39],"get_previous_business_day_before_today":[0,32],"git":[29,42],"github":[29,42],"give":43,"given":[0,1,2,3,8,15,16,22,24],"gld":[33,38,39],"global":32,"go":[10,29,36],"goff":[1,2],"gold":[33,38,39],"good":[32,37],"googl":[29,30,31,39,41],"got":[29,41],"grace":38,"graph":36,"graph_object":[10,36],"greater":[0,1,11,24],"grid":23,"group":[1,24,26,31,35],"group_asset":31,"group_fram":31,"group_metr":31,"group_nam":31,"group_seri":31,"growth":[1,24,31],"gspc":[35,36,37,38,43],"gt":[4,25],"guid":[29,41],"h1":30,"handl":[1,10,21,24,27,32,33,35,36,43],"happen":[4,25],"head":[23,30],"header":36,"healthcar":32,"heavi":37,"heavili":[1,24],"height":[32,36],"help":[27,40,41],"high":[29,31,32,33,38,39],"higher":[26,32,33,39,42],"highest":31,"highlight":[1,18,22,24],"histnorm":[1,24],"histogram":[1,24,34,36,37,43],"histori":[30,31,32,33,34,35,36,37,38,39,41,43],"hold":[1,2,3,4,24,25],"holiday":[0,1,8,11,12,13,15,24,42],"holiday_calendar":0,"home":[3,24],"hook":[29,42],"horizon":39,"howev":26,"html":[1,10,17,18,22,24,29,35],"html_div":[30,36],"html_templat":30,"html_util":10,"http":42,"https":[1,2,3,24,29,32,42],"id":23,"idea":29,"ideal":36,"identifi":[1,3,5,9,22,24,26,31,38,39,40,43],"idx":[32,38],"idxmax":[32,38],"idxmin":32,"ignor":[10,36,39],"iloc":[3,24,27,31,32,33,34,36,37,38,39],"impact":[38,39],"implement":[29,39],"impli":[1,24,37],"implicit":33,"import":[10,23,29,30,31,32,33,34,36,37,38,39,40,42,43],"importerror":42,"improv":[6,22,29,32],"inc":[1,24,31,34,39,41],"includ":[1,2,10,18,21,22,23,24,29,30,32,33,36,38,39,42],"include_plotlyj":[1,10,17,18,22,23,24,36],"inclus":[3,24,29],"incomplet":[3,24],"incorrect":27,"incorrectargumentcomboerror":[3,24,26],"independ":[1,2,39],"index":[1,2,3,23,24,31,32,33,35,37,38,39,41,43],"index_col":41,"indic":[3,24],"individu":[3,16,22,24,31,33,35,36,38,39,40,43],"individual_return":31,"individual_vol":31,"induc":[4,25],"industri":40,"infer":26,"infer_vari":26,"info_ratio_func":[1,2],"inform":[1,2,5,23,26,27,33,43],"inherit":[21,40],"initi":[1,4,16,22,24,25,26],"initialvaluezeroerror":[1,24,26],"inlin":10,"inner":[1,2,26,40],"inplac":41,"input":[0,3,4,12,26],"instal":[29,35,43],"instanti":26,"instead":[23,27,42],"instrument":[3,24],"instrument_id":[3,24],"int":[0,1,2,3,4,6,8,9,11,13,15,19,22,24,25,26,31,39],"intdefault":26,"integ":[0,1,2,3,8,15,24],"integr":[23,29,36,40,43],"integratedtermin":29,"intend":[1,2,3,24],"intens":41,"interact":[23,29,30,35,37,42,43],"intercept":[1,2,36],"interest":[33,36,39],"intermedi":40,"intermediate_seri":40,"internal":[27,36],"internat":[36,38],"interpol":[1,24],"interpret":35,"intersect":[40,41],"inv_vol":[1,2,26,32,38,40],"inv_vol_portfolio":32,"inv_vol_portfolio_df":32,"invalid":[29,31,32,33,36,38,39,40,41],"invalid_seri":[40,41],"invari":26,"invers":[38,40],"invesco":39,"invest":[1,2,32,33,37],"investment_univers":[32,33],"investopedia":[1,2,3,24],"ishar":39,"isin":[3,24,32],"iso":[0,1,3,4,8,11,12,13,15,24,25,40,41],"issu":[29,32,40,41],"item":[0,1,2,3,7,24,27,31,32,33,34,36,38,39],"item_count":[1,2,31,32,33,38,39,40],"item_idx":41,"iter":26,"ixic":43,"j":[1,2,31,32,38],"javascript":[10,23,30,36],"jefe":[1,2],"jensen":[1,2,23],"jensen_alpha":[1,2],"jensensmeasur":[1,2],"join":[38,40],"journal":[1,2],"jp":41,"js":[1,10,18,22,24],"json":[1,24,29,32,34,40,43],"jump":[4,25],"jumps_lamda":[4,25],"jumps_mu":[4,25],"jumps_sigma":[4,25],"just":43,"k":[1,24],"kappa":[1,24,37,39],"kappa3_ratio":[1,2,3,24,26,37,39],"kde":[1,24,26],"key":[1,2,31,32,33,34,38],"key_metr":[27,31,32,38],"keyerror":[1,2],"keyword":[3,4,26],"known":[1,24],"krylov":26,"kurtosi":[1,2,3,24,26,34,37,39,43],"kurtosis_func":[1,24],"l":26,"label":[1,3,4,24,25,26,29,31,32,33,34,36,37,38,39,40,43],"labelsnotuniqueerror":26,"lag":[1,3,4,24,25],"lambda":[31,32,38],"languag":29,"larg":[39,40,41,42],"large_seri":41,"larger":[1,24,37],"last":[0,1,2,13,23,24,30,36,37,39,40],"last_idx":[1,3,24,26,29,31,32,33,34,37,38,39,40,41,43],"last_indic":[1,2,26],"late":41,"late_seri":41,"later":[1,20,24],"latest":42,"launch":29,"layer":35,"layout":[14,23,30,36],"le":[1,2,4,25,26],"learn":[1,2,42,43],"least":[1,2,20,24,29,31,32,38],"left":[1,2,3,24,40],"len":[29,31,32,33,37,38,39,41],"length":[1,2,3,23,24,26,29,31,33,34,37,38,39,40,42,43],"lengths_of_item":[1,2,26,40],"less":[1,2,3,24,35],"let":[33,37,38,39,43],"level":[1,2,3,24,33,37,39],"librari":[1,18,22,24,32,35,36,37,40,42],"like":[26,43],"limit":[1,24,35],"line":[1,2,17,23,24,26,36],"line_fram":[18,22,32],"linear":[1,2,26],"linearregress":[1,2],"link":10,"lint":[29,42],"list":[0,1,2,3,4,8,11,12,13,15,24,25,26,29,32,40,41],"liter":[1,2,3,24,35],"literalbarplotmod":[1,24,26],"literalbizdayfreq":[17,23,26],"literalcaptureratio":[1,2,26],"literalframeprop":26,"literalhowmerg":26,"literaljsonoutput":[1,24,26],"literallineplotmod":[1,18,22,24,26],"literalminimizemethod":[6,9,22,26],"literalnanmethod":[1,24,26],"literalpandasreindexmethod":[1,24,26],"literalplotlyhistogrambarmod":[1,24,26],"literalplotlyhistogramcurvetyp":[1,24,26],"literalplotlyhistogramhistnorm":[1,24,26],"literalplotlyhistogramplottyp":[1,24,26],"literalplotlyjslib":[1,10,17,18,22,23,24,26],"literalplotlyoutput":[1,10,17,18,22,23,24,26],"literalportfolioweight":26,"literalquantileinterp":[1,24,26],"literalseriesprop":26,"literaltrunc":[1,2,26],"ljung":[1,3,24],"ljung_box":[3,24],"lmbda":[1,2,3,24],"ln":[1,24,40],"load":[14,24,30,31,32,33,34,35,36,37,38,39],"load_plotly_dict":32,"loc":[27,31,32,33,35,38,39],"local":[1,3,24,29,32,39],"local_cci":[3,24],"locat":[1,24,29],"lock":[1,2,3,24],"log":[1,24,34,40,41,43],"lognorm":[4,25,43],"logo":[1,10,14,18,22,24,36],"logo_url":10,"long":33,"long_column":[1,2],"longer":23,"longnam":32,"lookback":39,"lookback_d":39,"loss":[3,24,37,39],"low":[32,39],"lower":[1,24,26,32,33,34],"lower_partial_moment_func":[1,24],"lowest":31,"lpm_p":[1,24],"lvl_one":[3,24],"lvl_zero":[3,24,27,30,31,32,33,34,35,36,37,38,39,40,41,43],"lvl_zero_item":[1,2],"m":[1,24,29,37,39,42],"m1":42,"m2":42,"machin":42,"main":[35,40],"maintain":29,"major":29,"make":[29,33,36,42],"make_portfolio":[1,2,27,31,32,33,38,39,40,43],"make_subplot":36,"manag":[29,32,35,38,41,42],"mani":40,"manipul":[21,42],"manual":[0,12,26,31,39],"mar":[1,24],"mark":26,"marker":[18,22,26,32],"market":[0,1,2,3,4,8,11,12,13,15,24,25,26,31,32,33,36,37,38,39,40,41],"market_cap_portfolio":38,"market_column":[1,2],"market_data":31,"market_proxi":[31,38],"market_returns_df":38,"market_seri":36,"marketsnotstringnorliststrerror":26,"master":29,"match":26,"matrix":[1,2,31,37,38,39,43],"max":[1,24,27,31,32,33,34,35,36,37,38,39,40],"max_concentr":39,"max_dd":[33,38,40,43],"max_dd_dat":37,"max_div":[1,2,26,32,38,40],"max_div_portfolio":[32,38],"max_div_portfolio_df":[32,38],"max_drawdown":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,40,43],"max_drawdown_cal_year":[1,2,3,24,26,37],"max_drawdown_d":[1,2,3,24,26,34,37,39],"max_drawdown_func":[1,24],"max_length":[3,24,26],"max_leverage_loc":[1,24],"max_sharpe_idx":[32,38],"max_sharpe_portfolio":32,"max_sharpe_portfolio_df":32,"max_sharpe_weight":32,"max_var_daili":39,"max_volatil":39,"max_weight":39,"maxdiversificationnanerror":[32,38,40],"maxdiversificationnegativeweightserror":[32,38,40],"maxim":[32,38],"maximum":[1,6,9,22,24,33,34,37,39,40,43],"may":[14,26,27,31,32,33,34,36,37,38,39,40,42],"md":29,"mdd":[1,24],"mead":26,"mean":[1,2,4,16,22,24,25,31,33,34,35,36,37,38,39,40,41],"mean_annual_return":[4,25,33,40,42,43],"mean_annual_vol":[4,25,33,40,42,43],"mean_return":29,"meaning":40,"measur":[1,2,24,29,37,39],"mechan":33,"media":[23,31],"medium":33,"mega":31,"member":29,"merg":[1,2,26,29,40],"merge_seri":[1,2,40],"mergingresultedinemptyerror":26,"merton":[4,25],"met":[1,24],"meta":31,"metadata":[1,2,4,25,26],"method":[2,3,4,5,6,9,16,18,21,22,25,31,32,33,34,35,36,38,39,43],"metric":[2,21,23,29,31,32,33,34,35,38],"microsoft":[30,31,39,42],"midpoint":26,"might":27,"min":[31,32,33,36,38,39],"min_accepted_return":[1,24],"min_length":[3,24,26],"min_leverage_loc":[1,24],"min_period":[1,24],"min_sharp":39,"min_vol_idx":32,"min_vol_overweight":[1,2,26,32,38,40],"min_vol_portfolio":[32,38],"min_vol_portfolio_df":[32,38],"min_vol_row":32,"min_vol_weight":32,"minim":[6,9,22,29,42],"minimize_method":[6,9,22],"minimum":[1,6,9,22,24,33,35,39,40],"minlen":[3,24,26],"minor":29,"minut":43,"mismatch":[29,41],"miss":[0,1,8,11,12,13,15,24,35,40,43],"mix":[39,40],"mixedvaluetypeserror":26,"mm":[3,24],"mobil":[1,10,23,24,30,36],"mode":[1,23,24,27],"model":[1,2,3,4,24,25,26],"model_config":[1,2,3,4,24,25,26],"moder":37,"modifi":[1,24,27,29,31,34,37,38,39,40,41,43],"modul":[0,22,29,35,42],"moment":[1,24],"monitor":[28,35],"mont":35,"month":[0,1,2,3,8,23,24,33,34,35,38,39,40,41,43],"monthly_metr":41,"monthly_rebalanc":33,"monthly_rebalanced_seri":33,"monthly_return":37,"monthly_vol":37,"months_from_last":[1,2,3,24,40,41],"months_offset":[0,1,8,24],"motion":[4,25],"motiv":29,"move":[1,2,3,24,39],"ms":[1,24],"msft":[30,31,34,39,41],"msg":29,"multi":[1,2,21,32,35,43],"multi_asset_analysi":31,"multi_factor_linear_regress":[1,2,36],"multiindex":[1,2],"multipl":[1,9,22,23,31,32,34,35,38],"multiple_seri":41,"multipli":[1,24],"must":[0,3,11,24,26,29,38,40,41],"mutabl":40,"mutat":35,"my_plot":[10,36],"mypi":[29,42],"n":[1,24,31,32,33,34,36,37,38,39],"n_asset":39,"name":[1,2,3,4,6,18,22,24,25,26,29,30,31,32,33,34,36,37,38,39,40,41,42,43],"nameerror":[1,24],"nan":[1,24,32,43],"nanalysi":38,"nasdaq":43,"nasset":31,"nativ":[31,32,38,39],"nav":32,"naverag":31,"navperunit":32,"nbest":32,"ncash":33,"ncg":26,"ncorrel":43,"ncreat":[31,38],"ndarray":[9,16,22],"ndetail":33,"ndiffer":33,"ndiversif":31,"nearest":[1,2,3,24,26],"necessari":[26,37],"need":[0,27,29,30,32,36,40,42,43],"negat":[1,2,24,31,32,37,39],"nelder":26,"nequal":31,"netflix":31,"never":40,"new":[0,1,2,3,4,15,24,27,28,29,40,41,42],"new_seri":[1,2,41],"newcom":29,"newton":26,"next":[31,35],"nfactor":36,"nflx":31,"ninvest":32,"nkey":31,"nminimum":32,"nmonth":33,"nmulti":31,"non":38,"none":[0,1,2,3,4,6,8,9,10,11,12,13,15,17,18,22,23,24,25,26,33],"nonetyp":[1,2,4,25,26],"nonnegativefloat":[4,25],"noptim":[32,38],"normal":[1,4,24,25,26,29,37,39],"note":[23,29,31,32,37,39],"now":[27,33,36,37,38,43],"noweightserror":26,"np":[34,37,41],"nportfolio":39,"nr":36,"nrank":[31,32,38],"nresult":[34,38],"nrisk":39,"nroll":38,"nsimul":[32,38],"nsmallest":39,"ntotal":33,"num_port":[9,19,22,32,38,39],"num_simul":39,"numba":42,"number":[0,1,2,3,4,6,8,9,11,15,19,22,24,25,26,31,33,37,38,40,43],"number_of_sim":[4,25,33,40,42,43],"numberofitemsandlabelsnotsameerror":26,"numer":[1,2,32,40,41,42],"numpi":[26,34,37,41,42],"nvda":31,"nverif":39,"nvidia":31,"nworst":39,"nyse":[40,41],"object":[1,2,3,4,20,23,24,25,30,36,40,41],"observ":[1,2,3,24,27,31,33,34,36,37,38,39,40,43],"occur":[1,24],"offset":[0,1,2,3,8,15,24],"offset_business_day":0,"ok":39,"old_fe":[20,24],"omega":[1,24,37,39],"omega_ratio":[1,24,26,37,39],"omega_ratio_func":[1,24],"onc":[29,34,37,41],"one":[1,2,3,6,20,22,23,24,29],"onli":[1,2,3,4,10,23,24,27,32,33,37,39,41],"opac":[1,24],"open":[1,10,18,22,23,24,30,37,43],"openfram":[6,9,16,17,19,21,22,23,24,26,30,31,32,33,35,36,37,38,39],"openframepropertieslist":26,"openpyxl":[37,42],"openseri":[0,1,22,23,24,25,26,27,28,30,31,32,33,34,36,37,38,39,40,41,43],"openseries_env":42,"opentimeseri":[1,2,5,6,16,20,21,22,26,27,29,30,31,32,33,34,35,36,37,38,39,41,42],"opentimeseriespropertieslist":26,"oper":[27,40,41,42],"optim":[1,6,9,16,18,23,24,27,29,35,36,40],"optimal_portfolio":[27,32,38],"optimal_portfolio_df":32,"optimal_portfolio_seri":32,"optimal_weight":38,"optimization_plot":32,"option":[1,2,3,10,23,24,27,36],"ord_least_squares_fit":[1,2],"order":[1,24,39],"ordinari":[1,2],"org":[1,2,24],"orient":[1,10,24,36],"origin":[27,29,31,34,37,38,39,40,41,43],"original_d":40,"original_valu":40,"os":29,"otherwis":[1,10,24],"outcom":[1,24],"outer":[1,2,26,40],"outlier":[1,24],"output":[1,2,5,10,18,22,23,24,26],"output_path":[10,36],"output_typ":[1,10,17,18,22,23,24,30,32,36],"outsid":[1,24],"overlap":[1,24],"overlay":[1,24,26],"overrid":[1,2,3,24],"overview":[35,43],"overweight":[35,40],"overwrit":[1,24],"owntyp":[26,32,38,40],"p":[1,3,24,30,33,35,36,37,38,39,43],"p_":40,"p_t":40,"pacf":[1,3,24],"packag":[3,24,35,42],"pad":[1,2,3,24,26],"page":[10,17,23,28,35],"pair":[31,38],"pair_fram":31,"panda":[1,2,3,4,24,25,26,29,30,31,32,36,37,40,42],"pandas_df":[3,24],"panel":36,"param":33,"paramet":[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,32,33,40],"parenthes":27,"pariti":40,"pars":[0,3,4,7,42],"parse_d":41,"partial":[1,3,24],"partial_autocorr":[3,24,26],"pass":[6,9,22,26,29],"patch":29,"path":[1,10,17,23,24,30,36],"path_typ":[1,24],"pathlib":[10,36],"pathtyp":[1,24],"pattern":[3,24,25,26,27,32,35],"pay":27,"pct_chang":[1,24],"pd":[29,30,36,37,39,41],"pdb":29,"pdf":[1,2],"penal":[1,24,37],"pep":26,"per":[1,3,24,31,37,40],"percent":26,"percentag":[1,24,31,32,33,37,38,39],"percentage_metr":31,"percentil":[1,24,31,39],"percentile_idx":39,"perform":[1,2,23,24,26,29,35,36,40,42,43],"period":[1,2,3,23,24,29,30,31,32,33,34,35,36,37,38,39,40,41,43],"periods_in_a_year":[1,3,24,26,37,40],"periods_in_a_year_fix":[1,2,3,24],"pick":[3,24,31],"pip":[29,35,43],"pitfal":27,"place":[1,2,3,24,27,37,39,40],"placehold":[3,24],"plan":42,"platform":[31,35],"pleas":[28,29],"plot":[1,10,14,17,18,21,22,23,24,27,29,32,34,35,37,42,43],"plot_bar":[1,24,37,43],"plot_data":32,"plot_histogram":[1,24,27,34,37,40,43],"plot_seri":[1,24,34,35,37,40,43],"plot_typ":[1,24],"plotfil":[10,36],"plotlyconfigtyp":10,"plotlylayouttyp":14,"plus":[3,24],"point":[1,4,9,22,24,25,34,38,43],"point_fram":[16,18,22,32],"point_frame_mod":[18,22,32],"popul":[3,24],"popular":[1,2],"portfolio":[2,6,9,16,18,19,30,31,35,39],"portfolio_analysi":38,"portfolio_asset":39,"portfolio_df":[27,31,32,38,39,40,43],"portfolio_impact":39,"portfolio_metr":38,"portfolio_optimization_result":32,"portfolio_return":39,"portfolio_returns_df":38,"portfolio_rolling_vol":38,"portfolio_seri":33,"portfolio_sharp":39,"portfolio_stress_return":38,"portfolio_twr":33,"portfolio_vol":39,"portfolio_volatil":39,"portfolio_vs_market":38,"portfolionam":[6,22],"portfoliotool":[22,39],"posit":[1,2,3,4,24,33,37,39,43],"positive_shar":[1,2,3,24,26,37,39,43],"positive_share_func":[1,24],"positivefloat":[4,25],"positiveint":[4,25],"possibl":[6,9,19,22,26,29],"post":27,"potenti":[32,38],"powel":26,"pr":29,"practic":[1,2,32,35],"pre":[29,42],"predict":[1,2],"prefer":[26,40],"prepar":[16,22,32],"prepare_plot_data":[22,32],"preserv":40,"preview":36,"previous":[0,12],"price":[1,2,3,5,24,26,27,29,32,34,36,37,40,42,43],"primarili":26,"principl":40,"print":[27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"prioriti":[3,24],"privat":21,"probabl":[1,4,24,25,26],"problem":42,"process":[1,4,9,19,22,25,32],"produc":32,"profession":32,"program":29,"project":[26,29],"proper":[10,29,36],"properti":[2,3,4,21,25,26,31,34,35,38,39,43],"propertiesinputvalidationerror":26,"propertieslist":26,"provid":[0,1,3,7,21,22,23,24,25,26,27,29,32,33,35,36,37,38,39,40,43],"proxi":[31,36],"public":[29,32],"publish":29,"purpos":25,"push":29,"pvalu":[3,24],"px":36,"py":29,"pydant":[1,2,3,4,21,24,25,26,35,40,42,43],"pydantic_cor":[3,4],"pylanc":29,"pypi":[28,29],"pyproject":29,"pytest":[29,42],"python":[29,42],"q":[3,24],"qqq":39,"qualiti":[29,35,39,42],"quantil":[1,24,31,38,39],"quantiti":33,"quarter":[23,33,38,40,41],"queri":23,"question":29,"quick":42,"r":[1,2,29,36],"r_squar":36,"rais":[0,1,2,3,4,7,13,24,26,29,32,41],"raise_for_status":32,"random":[4,9,19,22,25,32,38],"rang":[0,1,3,6,9,11,13,22,24,26,29,31,32,34,36,37,38,39,40,43],"rank":[32,35],"rate":[1,3,24,29,36,39],"rather":[33,40],"ratio":[1,2,5,18,22,23,24,26,27,29,31,32,33,34,35,37,38,39,40,43],"ratioinputerror":26,"raw":[1,24],"raw_dat":[0,8],"reach":29,"read_csv":41,"readabl":31,"real":[35,37,43],"real_asset":33,"real_portfolio":33,"real_univers":33,"realist":[25,33,38],"realized_mean_return":[4,25],"realized_vol":[4,25],"rebalanc":[1,2,35],"rebalanced_portfolio":[1,2,33,38],"rebalancing_day":38,"rebas":40,"recent":39,"recent_outli":41,"recent_return":39,"recent_vol":40,"recommend":[29,32],"red":[1,24],"reduc":41,"reduct":31,"refer":[1,2,3,24,43],"reflect":40,"regress":[1,2,35],"regression_result":36,"reindex":[1,24],"reit":38,"relat":[1,2,5,23,24,26,33],"releas":42,"relev":29,"reliabl":32,"relrtrn":[5,26],"remain":[1,2,29,32],"rememb":35,"remot":14,"remov":[1,24],"render":[10,23],"replac":41,"report":[17,35,36],"report_html":[23,30],"repositori":[28,29],"repres":[1,2,6,22,24,26,40],"represent":26,"reproduc":[29,39,42],"request":[27,32,42],"requests_get":32,"requir":[1,2,3,4,10,24,25,26,29,35,40],"resampl":[1,2,3,24,34,37,43],"resample_to_business_period_end":[1,2,3,24,26,34,37,40,41,43],"resampledatalosserror":[3,24,26],"resiz":[10,36],"respect":[1,24,29],"respons":[1,10,14,17,24,30,32,35,36],"restor":[37,39],"result":[4,18,19,22,24,25,26,33,35,36,38,39,40],"ret":[29,31,32,33,38,39],"ret_pct":31,"ret_vol_ratio":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,43],"ret_vol_ratio_func":[1,24],"return":[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,25,26,29,32,33,34,35,36,38,39,42,43],"return_diff":33,"return_nan_handl":[1,24,41],"return_v":39,"returns_data":39,"returns_seri":[27,39],"returnseri":[1,2],"returnsimul":[33,35,40,42,43],"reusabl":26,"revalidate_inst":[1,2,3,4,24,25],"revers":[31,32,38],"review":42,"risk":[2,3,9,21,22,23,24,29,35,43],"risk_adj_metr":39,"risk_analysis_report":39,"risk_decomp":39,"risk_free_r":29,"risk_limit":39,"risk_parity_portfolio":38,"risk_report":39,"risk_seri":43,"riskfre":[1,2,24],"riskfree_r":[1,2,24],"robust":[32,35,39],"roll":[2,5,24,26,27,31,35,40,43],"rollbeta":[5,26],"rollcorr":[5,26],"rollcvar":[5,26],"rollinforatio":[5,26],"rolling_beta":[1,2,36],"rolling_corr":[1,2,27,31,36,38,40],"rolling_cvar":39,"rolling_cvar_down":[1,24,39],"rolling_info_ratio":[1,2],"rolling_metr":40,"rolling_ret":[40,43],"rolling_return":[1,24,27,34,37,40,43],"rolling_risk":43,"rolling_var":[34,39],"rolling_var_down":[1,24,27,34,39],"rolling_vol":[1,24,27,34,37,38,39,40,43],"rollrtrn":[5,26],"rollvar":[5,26],"rollvol":[5,26,40],"root":[1,24],"rough":33,"round":[31,32,38,39],"row":[36,41],"rsquar":[1,2],"rtrn":[1,2,3,5,24,26,33,40,42,43],"ruff":[29,42],"ruffen":29,"rug":[1,24],"run":[26,32,42,43],"running_adjust":[3,24],"runtim":26,"russel":43,"rut":[36,43],"s":[0,1,2,3,4,8,11,12,13,15,21,23,24,25,26,30,31,32,33,34,35,36,37,38,39,40,42,43],"safeti":[21,35,43],"sampl":[1,2,3,24,30,36,40,41,42],"save":[1,18,22,23,24,30,36,37,39,40,43],"scalar":27,"scale":[1,2,3,24,39],"scatter":[1,10,18,22,24,36],"scenario":[32,41,43],"scenario_nam":39,"scientif":42,"scikit":[1,2,42],"scipi":[6,9,22,42],"score":[1,24,37,39],"screen":[1,23,24,36],"script":42,"se":[0,3,4,8,11,12,13,15,24,25,32,33,43],"se0011337195":32,"se0011670843":32,"se0015243886":32,"se0017832280":32,"se0017832330":32,"search":35,"second":[1,2,29],"second_column":[1,2],"secondary_i":36,"section":[23,27,30,32,40],"sector":35,"see":26,"seed":[4,9,19,22,25,32,33,38,39,40,42,43],"sek":[3,24],"select":[1,2],"self":[1,2,3,4,24,25,26,27,29,40],"sell":33,"selloff":39,"semant":29,"separ":[1,23,24,33],"sequenc":26,"sequenti":27,"seri":[1,2,3,4,6,20,21,22,24,25,26,29,30,32,33,35,36,37,38,39,42,43],"series1":[41,43],"series2":[41,43],"series3":43,"series_copi":40,"series_datafram":41,"series_list":[30,31,32,38,39,41,43],"series_typ":33,"series_valu":41,"series_with_nan":41,"seriesim":33,"seriesorfloat_co":[1,24,26],"serv":26,"set":[0,1,2,3,10,15,24,26,27,29,32,33,34,35,36,40,42,43],"set_index":41,"set_new_label":[3,24,27,30,31,32,33,34,35,36,37,38,39,40,41,43],"settl":33,"settlement":33,"setup":35,"sever":[29,32,36,40],"share":[1,21,24,39],"sharp":[1,18,22,23,24,29,31,32,33,34,35,37,38,39,43],"sharpe_ratio":[31,32,37,38],"sharpeplot":[16,22,32],"sharperatio":[1,24],"sheet":[1,24,31,32,41],"sheet_nam":39,"sheet_titl":[1,24,41],"shock":39,"short_column":[1,2],"shorter":23,"shortest":[1,2,3,24],"shortfal":[37,39,40],"shorthand":[1,24],"show":[23,29,30,31,32,33,39],"show_last":[1,24],"show_rug":[1,24],"side":23,"signific":37,"silicon":42,"sim_cvar_95":39,"sim_fram":[18,22,32],"sim_return":32,"sim_sharpe_ratio":[32,38],"sim_var_95":39,"sim_volatil":32,"simfram":[19,22,27,32,38,39],"similar":40,"simpl":[1,23,24,29,33,35,36,40,41],"simpli":[1,2],"simplifi":[1,2,3,24,39],"simul":[4,6,9,18,19,35,40,42,43],"simulate_portfolio":[18,22,27,32,38,39],"simulated_df":[27,32,38],"simulated_portfolio":[32,39],"simulation_result":[27,32,38],"simultan":31,"sinc":[3,24],"singl":[1,21,24,35,37,39,41,43],"single_seri":41,"size":[1,4,23,24,25,29,36],"skew":[1,2,3,24,26,34,37,39,43],"skew_func":[1,24],"skip":36,"slsqp":[6,9,22,26],"small":36,"smaller":23,"smallest":[1,24],"social":31,"sold":[1,2],"solid":43,"sophist":[36,38,40],"sort":[31,32,38,39],"sort_valu":31,"sorted_indic":[32,38],"sorted_return":39,"sorted_sharp":31,"sorted_strategi":32,"sortino":[1,23,24,34,37,39,40,43],"sortino_ratio":[1,2,3,24,26,34,37,39,40,43],"sortino_ratio_func":[1,24],"sortinoratio":[1,24],"sought":[1,3,24],"sourc":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,29,35],"sp500":[37,43],"sp500_analysi":[37,43],"sp500_data":43,"sp500_metric":37,"span":[1,2,41],"span_of_day":[1,3,24,26,41],"span_of_days_al":[1,2,26],"sparser":[3,24],"spdr":39,"spec":36,"specif":[2,3,24,29,35,40,41,43],"specifi":[1,2,3,24,27,38,40],"specific_metr":27,"spi":[30,33,39],"split":33,"spreadsheet":[1,24],"squar":[1,2,3,24,36],"stabl":32,"stack":[23,26],"standalon":10,"standard":[1,2,4,18,22,23,24,25,37,40],"start":[0,1,4,11,15,24,25,26,33,38,39,40,41],"start_cut":[1,2],"startyear":[0,13],"state":40,"static":[26,29,42],"statist":[3,24,25,32,33,38,40,43],"stay":28,"std":[1,24,36],"std_dev":29,"stdev":[1,24,32,38,39],"step":[29,35],"stock":[31,32,33,34,36,41],"stock_comparison_report":30,"stock_data":[36,41],"stock_vs_market":36,"store":26,"str":[0,1,2,3,4,6,8,10,11,12,13,15,17,18,22,23,24,25,26],"strategi":[1,2,27,35,40,43],"strategy_fram":33,"strategy_metr":33,"strategy_nam":[32,38],"strenum":[5,26],"stress":35,"stress_dat":38,"stress_return":31,"strftime":[37,39],"strict":[1,2,3,4,24,25,26,29,33,41],"string":[0,1,2,3,10,13,23,24,26,40,41],"stringconstraint":[3,24,26],"strip_whitespac":[3,24,26],"strorbytessequ":26,"strsequenc":26,"structur":[21,32,38,41],"stub":[1,2,3,24],"style":[1,24,35,36],"subclass":[20,24],"subplot":36,"subplot_titl":36,"subset":35,"subset_portfolio":33,"subtract":[3,24],"subtyp":26,"success":38,"sum":[29,31,33,38,39],"summari":[1,2,35,36,39],"summat":[3,24],"suppli":[1,2],"support":[0,1,3,4,7,8,10,11,12,13,15,24,25,29,31,32],"sure":42,"swedish":43,"switch":23,"syntax":26,"synthet":41,"system":[21,35,39],"t":[1,2,24,26,27,36,40],"tabl":[17,23],"tag":23,"tail":[37,39],"take":[1,2,3,24,40],"takeaway":33,"target":[1,24,33],"target_vol":[1,24],"target_weight":33,"target_weight_from_var":[1,24],"tech":[31,39],"tech_fram":41,"tech_stock":31,"tech_tick":31,"techniqu":[32,37,38,39],"technolog":32,"templat":[14,30],"term":[1,2,24,33],"tesla":[31,39],"test":[1,2,3,24,25,33,35,42],"test_calculate_return":29,"test_fram":29,"test_from_arrays_bas":29,"test_from_arrays_invalid_d":29,"test_funct":29,"test_portfoliotool":29,"test_seri":29,"test_specif":29,"testopentimeseri":29,"text":[18,22,26,32],"thank":29,"theoret":[32,35,38],"theoretical_portfolio":[33,38],"theoretical_portfolio_df":[33,38],"theoretical_seri":33,"thereof":[20,24],"threshold":[1,24,31,38,39,41],"threshold_idx":31,"throughout":26,"tick":[1,24],"tick_fmt":[1,24],"ticker":[30,31,32,33,34,35,36,37,38,39,41,43],"ticker_symbol":[34,41],"tidi":27,"time":[1,2,4,21,23,24,25,26,33,35,37,38,39,40,43],"timedelta":39,"timeout":32,"timeseri":[1,2,3,4,6,20,22,24,25,26,43],"timeseries_chain":24,"timeseries_id":[3,24],"timestamp":[26,29],"titl":[1,10,17,18,22,23,24,30,32,36,41],"title_text":36,"titletext":[18,22],"tlt":[33,36,39],"tnc":26,"tnx":37,"to_csv":34,"to_cumret":[1,2,3,24,32,33,40,41,42,43],"to_dat":[1,2,3,24],"to_datafram":[4,25,33,40,42,43],"to_drawdown_seri":[1,24,34,37,40,43],"to_dt":[1,24],"to_excel":[31,32,37,38,39],"to_json":[1,24,34,40,41,43],"to_low":[3,24,26],"to_upp":[3,24,26],"to_xlsx":[1,24,31,32,34,37,39,40,41,43],"today":[0,12],"togeth":[20,24],"toler":29,"tolist":[32,37],"toml":29,"tool":[29,35,38,42],"top":[32,38],"top_indic":38,"top_sharpe_indic":32,"total":[1,4,5,24,25,26,32,33,34,37,38,39,40,43],"total_return":37,"total_trad":33,"touch":23,"toward":29,"trace":[1,24,36],"track":[1,2,23,28,33],"tracking_error":40,"tracking_error_func":[1,2,40],"trackingerror":[1,2],"trade":[4,25,26,33,38,41,42,43],"trading_day":[0,4,11,25,33,38,40,42,43],"trading_days_in_year":[4,25,40,42,43],"tradingdaysnotabovezeroerror":26,"transact":[35,38],"transaction_data":33,"transaction_seri":33,"transform":35,"treasuri":[33,37,39],"treat":[1,2],"tri":42,"troubleshoot":35,"true":[0,1,2,3,4,8,9,10,14,17,18,22,23,24,25,26,29,31,32,33,36,38,41],"trunc_fram":[1,2,32,40,43],"truncat":[1,2,40],"trust":[26,39],"tsdf":[1,2,3,24,26,31,33,38,39,40,41,43],"tsla":[31,34,39,41],"tupl":[1,2,3,6,9,14,17,18,22,23,24,26,27],"turn":21,"tutori":[29,36,37,38,39,43],"tweak":[9,22],"two":[1,2,20,21,24,27,31,35,40],"twr":[1,2,33],"type":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,35,36,42,43],"typealia":26,"typecheck":29,"typeerror":[0,3,7,24],"typeopentimeseri":[20,24],"typevar":26,"typo":29,"unavail":[14,31,32,33,36,38,39],"unclear":29,"underlying":[26,39],"understand":[27,35,37,38,40],"union":26,"uniqu":[23,26],"unit":[1,24,31,37],"univers":[31,32,33,38],"unlik":33,"unnecessari":27,"unpack":27,"untouch":40,"unusu":[37,39],"updat":[28,29,36],"update_layout":[32,36],"url":[10,32],"us":[33,38,40,41,43],"usag":43,"use":[1,2,3,4,10,16,18,21,22,23,24,25,26,27,29,31,33,34,35,37,38,39,40,41,43],"user":[1,3,24,26,40],"usual":40,"utf":30,"util":[1,2,35],"uv":[29,42],"v":[1,24],"valid":[0,3,4,15,21,35,42,43],"valid_d":41,"valid_valu":41,"validate_assign":[1,2,3,4,24,25],"validationerror":[3,4,41],"valu":[0,1,2,3,4,5,15,24,25,29,31,32,34,35,36,37,43],"valuabl":33,"value_list":40,"value_nan_handl":[1,24,32,40,41,43],"value_ret":[1,2,3,24,26,33,34,37,38,39,43],"value_ret_calendar_period":[1,24,34,37],"value_ret_func":[1,24],"value_to_diff":[1,2,3,24,41],"value_to_log":[1,24,34,40,41,43],"value_to_ret":[1,2,3,24,27,29,31,34,37,38,39,40,41,43],"valueerror":[1,2,24,29],"valuelisttyp":[3,24,26],"values_with_nan":41,"valuetyp":[1,2,3,24,26,32,33,40,42,43],"var":[1,3,5,24,26,27,34,35,37,38,40,43],"var_90":37,"var_95":[37,40,43],"var_99":37,"var_daili":39,"var_down":[1,2,3,24,26,34,37,38,39,40,43],"var_down_func":[1,24,37,39],"var_seri":27,"var_valu":39,"variabl":[1,2,26,36],"varianc":[1,2,3,24,26,35],"various":[24,29,32,36,37,38,41,43],"vde":32,"ve":43,"vea":32,"venv":[29,42],"verifi":[35,39],"version":[23,28,29,42],"vertic":23,"vertical_legend":[17,23],"vgt":32,"vht":32,"via":[1,3,24,26],"view":[1,23,24,33],"viewport":[10,36],"virtual":[29,42],"visit":28,"visual":[29,32,35,36,40,42],"vnq":[32,38],"vol":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,40,43],"vol_dat":37,"vol_diff":33,"vol_from_var":[1,2,3,24,26,37],"vol_from_var_func":[1,24],"vol_func":[1,24,40],"vol_pct":31,"vol_seri":37,"vol_valu":37,"volatil":[1,2,3,4,5,16,22,23,24,25,26,27,31,33,34,35,36,37,39,40,43],"volum":[36,41],"volume12":[1,2],"vs":[29,31,35],"vscode":29,"vti":32,"vwo":32,"w":[30,31,39,40,41],"want":42,"warn":39,"watch":28,"way":[26,27,41,42],"web":[23,36],"week":[33,39],"weight":[1,2,3,16,19,22,24,26,27,31,35,39,40,43],"weight_strat":[1,2,27,31,32,33,38,39,40,43],"weighted_avg_return":31,"weighted_avg_vol":31,"weighted_return":38,"welcom":29,"well":[26,36],"what_output":[1,24,41,43],"whether":[1,10,14,18,22,24],"width":[1,23,24,32],"wiki":[1,24],"wikipedia":[1,24],"will":[1,2,3,23,24,27,29,37,40,41,42,43],"window":[1,2,10,18,22,24,27,34,36,39],"winter":[1,2],"within":39,"without":[1,24,27,42],"work":[27,29,32,35,36,40,42],"workflow":[35,36],"working_data":40,"workspacefold":29,"world":[35,43],"worst":[1,2,3,23,24,26,31,34,37,38,39],"worst_1_perc":39,"worst_5_day":39,"worst_5_perc":39,"worst_day":[31,37,38],"worst_days_threshold":38,"worst_func":[1,24],"worst_idx":39,"worst_month":[1,2,3,24,26,37,39],"worst_threshold":31,"worst_year_dd":37,"write":30,"writer":39,"written":[1,24],"wrong":[27,41],"www":[1,2,3,24],"x":[1,2,10,24,31,32,36],"x_column":[1,2],"x_fmt":[1,24],"xbins_siz":[1,24],"xlsx":[1,24,31,32,34,37,38,39,40,41,43],"y":[1,2,10,24,36,37,39],"y_column":[1,2],"y_fmt":[1,24],"yahoo":42,"year":[0,1,2,3,13,23,24,31,34,36,38,39,40],"year_return":[34,37],"yearfrac":[1,3,24,26,37],"yf":[30,31,32,33,34,35,36,37,38,39,41,43],"yfinanc":[30,31,32,33,34,35,36,37,38,39,41,42,43],"yield":[32,37],"yourusernam":29,"yyyi":[3,24],"z":[1,3,24,26,37,39,41],"z_score":[1,2,3,24,26,37,39],"z_score_func":[1,24],"zero":[0,1,2,3,11,15,24,26,38],"zip":[30,31,33,38,39,43],"zscore":[1,24]},"titles":["Date Utilities","OpenFrame","openseries.OpenFrame","openseries.OpenTimeSeries","openseries.ReturnSimulation","openseries.ValueType","openseries.constrain_optimized_portfolios","openseries.date_fix","openseries.date_offset_foll","openseries.efficient_frontier","openseries.export_plotly_figure","openseries.generate_calendar_date_range","openseries.get_previous_business_day_before_today","openseries.holiday_calendar","openseries.load_plotly_dict","openseries.offset_business_days","openseries.prepare_plot_data","openseries.report_html","openseries.sharpeplot","openseries.simulate_portfolios","openseries.timeseries_chain","openseries package","Portfolio Tools","Report Generation","OpenTimeSeries","Simulation","Types and Enums","API Consistency Notes","Changelog","Contributing to openseries","Reporting","Multi-Asset Analysis","Portfolio Optimization","Rebalanced Portfolio Simulation","Single Asset Analysis","openseries Documentation","Advanced Features","Basic Financial Analysis","Portfolio Analysis","Risk Management","Core Concepts","Data Handling","Installation","Quick Start Guide"],"titleterms":{"All":43,"Do":27,"From":41,"Other":21,"The":40,"Up":[31,37,38,39],"Your":43,"__format__":27,"add":41,"adjust":[37,39],"advanc":[32,36,37,38],"alias":26,"align":[40,41],"analysi":[1,24,31,32,33,34,36,37,38,39,40,43],"annual":[37,40],"api":[27,35],"applic":33,"architectur":40,"array":41,"asset":[31,34,38,41,43],"attribut":[31,33,38],"backtest":32,"base":32,"basic":[32,33,34,37,39,43],"benchmark":37,"benefit":36,"best":[27,33,40],"bug":29,"build":29,"built":30,"busi":[40,41,43],"calcul":40,"calendar":[34,37,40],"callabl":27,"carlo":[32,38,39],"cash":33,"categori":40,"chain":27,"changelog":28,"check":[40,41],"class":[1,21,24,25,26,40],"code":29,"commit":29,"common":[1,24,27,42,43],"communiti":29,"compar":31,"comparison":[32,37,38],"complet":[31,32,34],"comprehens":37,"concept":[40,43],"conda":42,"condit":39,"consider":41,"consist":[27,40,41],"constrain_optimized_portfolio":6,"constraint":22,"construct":[1,24,38,40],"content":35,"contribut":29,"control":39,"convers":41,"core":[40,42],"correl":[1,31,38],"cost":33,"coverag":29,"creat":[36,41,43],"creation":27,"csv":41,"custom":[26,33,36,38],"cvar":39,"daili":33,"dashboard":39,"data":[1,24,32,38,40,41,43],"datafram":[27,41],"date":[0,21,40,41,42],"date_fix":7,"date_offset_fol":8,"day":[40,41,43],"debug":29,"decomposit":39,"depend":42,"design":23,"detail":[32,33],"detect":41,"develop":[29,35,42],"differ":[33,41],"distribut":37,"diversif":[32,38],"docstr":29,"document":[29,35],"drawdown":37,"drop":41,"effici":[38,41],"efficient_fronti":9,"embed":30,"enum":[21,26],"environ":29,"equal":[32,33,38],"error":38,"exampl":[33,35],"excel":41,"except":26,"exist":30,"export":[1,24,31,32,34,36,39,40,41,43],"export_plotly_figur":[10,36],"express":36,"extern":43,"factor":36,"featur":[29,35,36],"figur":36,"file":42,"financ":41,"financi":[1,24,37,40,42,43],"first":43,"fix":41,"format":[27,41],"frame":1,"framework":32,"frequenc":33,"frontier":38,"function":[0,21,23,24,27],"fund":32,"generat":23,"generate_calendar_date_rang":11,"get":[29,42,43],"get_previous_business_day_before_today":12,"github":28,"guid":[35,43],"guidelin":29,"handl":[0,38,40,41],"help":[29,42],"hint":29,"histor":39,"holiday_calendar":13,"html":[23,30,36],"ide":29,"immut":40,"import":[27,35,41],"indic":35,"inlin":36,"instal":42,"integr":41,"interpret":37,"invers":32,"issu":[27,42],"json":41,"key":[35,43],"layer":40,"length":41,"limit":39,"linux":42,"liter":26,"load":[40,41,43],"load_plotly_dict":14,"maco":42,"main":21,"manag":[1,33,39,40],"manipul":[1,24],"maximum":[32,38],"mean":32,"memori":[40,41],"messag":29,"method":[1,24,27,40,41],"metric":[1,24,27,37,39,40,43],"minimum":[32,38],"miss":41,"model":36,"monitor":39,"mont":[32,38,39],"month":37,"multi":[31,36],"multipl":[40,41,43],"mutat":40,"name":27,"nan":41,"network":42,"next":43,"non":24,"note":[27,35,42],"notif":28,"numer":24,"object":27,"offset_business_day":15,"onc":43,"openfram":[1,2,40,41,43],"openseri":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,29,35,42],"opentimeseri":[3,24,40,43],"optim":[22,32,38],"option":42,"outlier":41,"output":36,"overview":40,"overweight":[32,38],"packag":21,"page":30,"panda":41,"paramet":27,"pariti":38,"pass":27,"pattern":43,"perform":[31,32,33,34,37,38,39,41],"pip":42,"platform":42,"plot":36,"portfolio":[1,21,22,27,32,33,38,40,43],"practic":[27,33,40],"prepare_plot_data":16,"price":41,"process":29,"properti":[1,24,27,40],"pull":29,"python":35,"qualiti":41,"quick":[35,43],"rang":41,"rank":31,"rate":41,"real":[32,33,41],"rebalanc":[33,38],"recommend":42,"refer":35,"regress":36,"releas":[28,29],"rememb":43,"remov":41,"report":[23,29,30,37,38,39],"report_html":17,"request":29,"requir":42,"resampl":[40,41],"resample_to_business_period_end":27,"respons":23,"result":[31,32,34,43],"return":[1,23,24,27,31,37,40,41],"returnsimul":[4,25],"review":29,"risk":[1,31,32,34,37,38,39,40],"roll":[1,34,36,37,38,39],"run":[27,29],"safeti":40,"scenario":39,"sector":31,"seri":[27,31,34,40,41],"set":[31,37,38,39],"setup":[29,32,33,34],"sharpeplot":18,"simpl":38,"simul":[21,22,25,32,33,38,39],"simulate_portfolio":19,"singl":34,"solut":27,"sourc":[41,42,43],"specif":[1,27,42],"standard":29,"start":[29,35,43],"statist":1,"step":43,"strategi":[32,33,38,41],"stress":[31,38,39],"string":27,"structur":29,"style":[29,31],"subset":33,"summari":[33,37,38],"support":[35,42],"system":42,"tabl":35,"test":[29,31,38,39],"theoret":33,"time":[31,34],"timeseries_chain":20,"tool":[21,22],"transact":33,"transform":[1,24,34,40,41,43],"troubleshoot":42,"tutori":35,"type":[21,26,29,40],"typeerror":27,"understand":33,"unsupport":27,"usag":41,"use":[30,32,36,42],"user":35,"util":[0,21,24,42],"valid":[26,40,41],"valu":[23,26,27,39,40,41],"valuetyp":[5,27],"var":39,"varianc":32,"verifi":42,"version":35,"visual":[1,22,24,34,37,43],"volatil":[32,38],"vs":[27,33,40],"weight":[32,33,38],"window":42,"work":[41,43],"workflow":[29,31,32,34,40],"world":[32,33],"write":29,"yahoo":41,"year":37}})
    \ No newline at end of file
    +Search.setIndex({"alltitles":{"API Consistency Notes":[[27,null]],"API Reference":[[35,null]],"Adding and Removing Series":[[41,"adding-and-removing-series"]],"Advanced Features":[[36,null]],"Advanced Optimization with Real Data":[[32,"advanced-optimization-with-real-data"]],"Advanced Risk Metrics":[[37,"advanced-risk-metrics"]],"Advanced Weight Strategies":[[38,"advanced-weight-strategies"]],"Analysis Methods":[[1,"analysis-methods"],[24,"analysis-methods"],[40,"analysis-methods"]],"Analysis Workflow":[[40,"analysis-workflow"]],"Annualization":[[40,"annualization"]],"Architecture Overview":[[40,"architecture-overview"]],"Asset Analysis":[[38,"asset-analysis"]],"Backtesting Framework":[[32,"backtesting-framework"]],"Basic Financial Analysis":[[37,null]],"Basic Financial Metrics":[[43,"basic-financial-metrics"]],"Basic Performance Metrics":[[37,"basic-performance-metrics"]],"Basic Portfolio Optimization Setup":[[32,"basic-portfolio-optimization-setup"]],"Basic Rebalanced Portfolio Setup":[[33,"basic-rebalanced-portfolio-setup"]],"Basic Risk Metrics":[[39,"basic-risk-metrics"]],"Basic Setup":[[34,"basic-setup"]],"Benefits of export_plotly_figure":[[36,"benefits-of-export-plotly-figure"]],"Best Practices":[[27,"best-practices"],[40,"best-practices"]],"Bug Reports":[[29,"bug-reports"]],"Building Documentation":[[29,"building-documentation"]],"Business Day Alignment":[[41,"business-day-alignment"]],"Business Day Calendars":[[40,"business-day-calendars"]],"CSV Data":[[41,"csv-data"]],"Calendar Analysis":[[34,"calendar-analysis"]],"Calendar Year Returns":[[37,"calendar-year-returns"]],"Cash Management Analysis":[[33,"cash-management-analysis"]],"Changelog":[[28,null]],"Class Methods for Construction":[[1,"class-methods-for-construction"],[24,"class-methods-for-construction"]],"Code Contributions":[[29,"code-contributions"]],"Code Review Process":[[29,"code-review-process"]],"Code Standards":[[29,"code-standards"]],"Code Style":[[29,"code-style"]],"Commit Messages":[[29,"commit-messages"]],"Common Issues":[[42,"common-issues"]],"Common Issues and Solutions":[[27,"common-issues-and-solutions"]],"Common Patterns":[[43,"common-patterns"]],"Common Properties":[[1,"common-properties"],[24,"common-properties"]],"Community Guidelines":[[29,"community-guidelines"]],"Comparative Analysis":[[31,"comparative-analysis"]],"Comparison with Benchmark":[[37,"comparison-with-benchmark"]],"Complete Analysis Workflow":[[34,"complete-analysis-workflow"]],"Complete Multi-Asset Analysis Workflow":[[31,"complete-multi-asset-analysis-workflow"]],"Complete Optimization Workflow":[[32,"complete-optimization-workflow"]],"Comprehensive Report":[[37,"comprehensive-report"]],"Conditional Value at Risk (CVaR)":[[39,"conditional-value-at-risk-cvar"]],"Consistency Checks":[[40,"consistency-checks"]],"Contributing Guidelines":[[29,"contributing-guidelines"]],"Contributing to openseries":[[29,null]],"Core Concepts":[[40,null]],"Core Dependencies":[[42,"core-dependencies"]],"Core Properties":[[40,"core-properties"]],"Correlation Analysis":[[31,"correlation-analysis"],[38,"correlation-analysis"]],"Correlation and Risk":[[1,"correlation-and-risk"]],"Creating Custom Plots":[[36,"creating-custom-plots"]],"Creating OpenFrame":[[41,"creating-openframe"]],"Creating Visualizations":[[43,"creating-visualizations"]],"Custom Exceptions":[[26,"custom-exceptions"]],"Custom Weight Portfolio":[[38,"custom-weight-portfolio"]],"Daily Rebalancing vs Theoretical Portfolio":[[33,"daily-rebalancing-vs-theoretical-portfolio"]],"Data Alignment":[[40,"data-alignment"]],"Data Export and Import":[[41,"data-export-and-import"]],"Data Handling":[[41,null]],"Data Immutability":[[40,"data-immutability"]],"Data Loading":[[40,"data-loading"]],"Data Manipulation":[[1,"data-manipulation"],[24,"data-manipulation"]],"Data Quality Checks":[[41,"data-quality-checks"]],"Data Transformations":[[41,"data-transformations"],[43,"data-transformations"]],"Data Validation":[[40,"data-validation"],[41,"data-validation"]],"Date Format Validation":[[41,"date-format-validation"]],"Date Handling":[[40,"date-handling"]],"Date Handling Functions":[[0,"date-handling-functions"]],"Date Utilities":[[0,null],[21,"date-utilities"]],"Debugging":[[29,"debugging"]],"Dependencies":[[42,"dependencies"]],"Detailed Portfolio Analysis":[[33,"detailed-portfolio-analysis"]],"Development":[[35,null]],"Development Environment":[[29,"development-environment"]],"Development Installation":[[42,"development-installation"]],"Development Setup":[[29,"development-setup"]],"Development Workflow":[[29,"development-workflow"]],"Different Rebalancing Frequencies":[[33,"different-rebalancing-frequencies"]],"Distribution Analysis":[[37,"distribution-analysis"]],"Docstrings":[[29,"docstrings"]],"Documentation":[[29,"documentation"]],"Documentation Contents":[[35,"documentation-contents"]],"Documentation Contributions":[[29,"documentation-contributions"]],"Documentation Standards":[[29,"documentation-standards"]],"Drawdown Analysis":[[37,"drawdown-analysis"]],"Dropping Missing Data":[[41,"dropping-missing-data"]],"Efficient Data Loading":[[41,"efficient-data-loading"]],"Efficient Frontier":[[38,"efficient-frontier"]],"Embedding Reports in Existing HTML Pages":[[30,"embedding-reports-in-existing-html-pages"]],"Equal Weight Portfolio":[[32,"equal-weight-portfolio"],[38,"equal-weight-portfolio"]],"Equal Weight vs Custom Weight Strategies":[[33,"equal-weight-vs-custom-weight-strategies"]],"Examples":[[35,null]],"Excel Export":[[41,"excel-export"]],"Export Methods":[[1,"export-methods"],[24,"export-methods"],[40,"export-methods"]],"Export Multi-Asset Results":[[31,"export-multi-asset-results"]],"Export Optimization Results":[[32,"export-optimization-results"]],"Export Results":[[34,"export-results"]],"Export Risk Report":[[39,"export-risk-report"]],"Exporting Custom Plotly Figures":[[36,"exporting-custom-plotly-figures"]],"Exporting Results":[[43,"exporting-results"]],"Factor Analysis and Regression":[[36,"factor-analysis-and-regression"]],"Feature Requests":[[29,"feature-requests"]],"File and Network Support":[[42,"file-and-network-support"]],"Financial Calculations":[[40,"financial-calculations"]],"Financial Metrics":[[1,"financial-metrics"],[24,"financial-metrics"]],"Financial Metrics Methods":[[1,"financial-metrics-methods"],[24,"financial-metrics-methods"]],"Financial and Date Utilities":[[42,"financial-and-date-utilities"]],"Frame Management":[[1,"frame-management"]],"Frame-specific Properties":[[1,"frame-specific-properties"]],"From Arrays":[[41,"from-arrays"]],"From Fixed Rate":[[41,"from-fixed-rate"]],"From pandas DataFrame/Series":[[41,"from-pandas-dataframe-series"]],"Function Parameter Names":[[27,"function-parameter-names"]],"Function Return Values":[[27,"function-return-values"]],"Get All Metrics at Once":[[43,"get-all-metrics-at-once"]],"Getting Help":[[29,"getting-help"],[42,"getting-help"]],"Getting Started":[[29,"getting-started"]],"GitHub Releases":[[28,"github-releases"]],"HTML Report Function":[[23,"html-report-function"]],"Handling Different Date Ranges":[[41,"handling-different-date-ranges"]],"Handling Missing Data":[[41,"handling-missing-data"]],"Historical Stress Testing":[[39,"historical-stress-testing"]],"IDE Setup":[[29,"ide-setup"]],"Important API Notes":[[27,"important-api-notes"]],"Important Notes":[[35,null]],"Indices and tables":[[35,"indices-and-tables"]],"Inline HTML Output":[[36,"inline-html-output"]],"Installation":[[42,null]],"Installing from source":[[42,"installing-from-source"]],"Installing openseries":[[42,"installing-openseries"]],"Inverse Volatility Portfolio":[[32,"inverse-volatility-portfolio"]],"Issue: \u201cDo not run resample_to_business_period_ends on return series\u201d":[[27,"issue-do-not-run-resample-to-business-period-ends-on-return-series"]],"Issue: \u201cTypeError: unsupported format string passed to Series.__format__\u201d":[[27,"issue-typeerror-unsupported-format-string-passed-to-series-format"]],"Issue: \u201cTypeError: \u2018DataFrame\u2019 object is not callable\u201d":[[27,"issue-typeerror-dataframe-object-is-not-callable"]],"JSON Export":[[41,"json-export"]],"Key Concepts to Remember":[[43,"key-concepts-to-remember"]],"Key Features":[[35,"key-features"]],"Length Consistency":[[41,"length-consistency"]],"Linux":[[42,"linux"]],"Literal Types":[[26,"literal-types"]],"Loading Data":[[41,"loading-data"]],"Loading Data from External Sources":[[43,"loading-data-from-external-sources"]],"Main Classes":[[21,"main-classes"]],"Managing Multiple Series":[[40,"managing-multiple-series"]],"Maximum Diversification Portfolio":[[32,"maximum-diversification-portfolio"]],"Maximum Diversification Strategy":[[38,"maximum-diversification-strategy"]],"Mean-Variance Optimization":[[32,"mean-variance-optimization"]],"Memory Management":[[40,"memory-management"]],"Memory Usage":[[41,"memory-usage"]],"Method Categories":[[40,"method-categories"]],"Method Chaining vs Object Creation":[[27,"method-chaining-vs-object-creation"]],"Method Parameter Names":[[27,"method-parameter-names"]],"Methods":[[1,"methods"],[24,"methods"]],"Metric Names in DataFrames":[[27,"metric-names-in-dataframes"]],"Minimum Volatility Overweight Portfolio":[[32,"minimum-volatility-overweight-portfolio"]],"Minimum Volatility Overweight Strategy":[[38,"minimum-volatility-overweight-strategy"]],"Monte Carlo Portfolio Simulation":[[32,"monte-carlo-portfolio-simulation"],[38,"monte-carlo-portfolio-simulation"]],"Monte Carlo Risk Simulation":[[39,"monte-carlo-risk-simulation"]],"Monthly and Annual Analysis":[[37,"monthly-and-annual-analysis"]],"Multi-Asset Analysis":[[31,null]],"Multi-Factor Model Analysis":[[36,"multi-factor-model-analysis"]],"Mutation and data layers":[[40,"mutation-and-data-layers"]],"NaN Handling Strategies":[[41,"nan-handling-strategies"]],"Next Steps":[[43,"next-steps"]],"Non-numerical Properties":[[24,"non-numerical-properties"]],"OpenFrame":[[1,null]],"OpenTimeSeries":[[24,null]],"Optional Dependencies":[[42,"optional-dependencies"]],"Other Utilities":[[21,"other-utilities"]],"Outlier Detection":[[41,"outlier-detection"]],"Performance Analysis":[[34,"performance-analysis"]],"Performance Attribution":[[31,"performance-attribution"],[33,"performance-attribution"],[38,"performance-attribution"]],"Performance Comparison Analysis":[[32,"performance-comparison-analysis"]],"Performance Considerations":[[41,"performance-considerations"]],"Platform-Specific Notes":[[42,"platform-specific-notes"]],"Portfolio Analysis":[[1,"portfolio-analysis"],[38,null],[43,"portfolio-analysis"]],"Portfolio Comparison":[[32,"portfolio-comparison"],[38,"portfolio-comparison"]],"Portfolio Constraints":[[22,"portfolio-constraints"]],"Portfolio Construction":[[40,"portfolio-construction"]],"Portfolio Creation":[[27,"portfolio-creation"]],"Portfolio Optimization":[[22,"portfolio-optimization"],[32,null],[38,"portfolio-optimization"]],"Portfolio Simulation":[[22,"portfolio-simulation"]],"Portfolio Tools":[[21,"portfolio-tools"],[22,null]],"Price and Return Conversions":[[41,"price-and-return-conversions"]],"Properties":[[1,"properties"],[24,"properties"]],"Properties vs Methods":[[27,"properties-vs-methods"],[40,"properties-vs-methods"]],"Pull Request Process":[[29,"pull-request-process"]],"Python Version Support":[[35,"python-version-support"]],"Quick Start":[[35,"quick-start"]],"Quick Start Guide":[[43,null]],"Ranking Analysis":[[31,"ranking-analysis"]],"Real-World Application Example":[[33,"real-world-application-example"]],"Real-World Fund Portfolio Optimization":[[32,"real-world-fund-portfolio-optimization"]],"Rebalanced Portfolio Simulation":[[33,null]],"Rebalancing Analysis":[[38,"rebalancing-analysis"]],"Release Notifications":[[28,"release-notifications"]],"Release Process":[[29,"release-process"]],"Report Generation":[[23,null]],"Reporting":[[30,null]],"Resampling":[[40,"resampling"],[41,"resampling"]],"Responsive Design":[[23,"responsive-design"]],"Return Calculations":[[40,"return-calculations"]],"Return Values":[[23,"return-values"]],"ReturnSimulation Class":[[25,"returnsimulation-class"]],"Returns:":[[1,"returns"],[1,"id1"],[1,"id2"],[1,"id3"],[1,"id4"],[1,"id5"],[1,"id6"],[1,"id7"],[1,"id8"],[1,"id9"],[1,"id10"],[1,"id11"],[1,"id12"],[1,"id13"],[1,"id14"],[1,"id15"],[1,"id16"],[1,"id17"],[1,"id18"],[1,"id19"],[1,"id20"],[1,"id21"],[24,"returns"],[24,"id1"],[24,"id2"],[24,"id3"],[24,"id4"],[24,"id5"],[24,"id6"],[24,"id7"],[24,"id8"],[24,"id9"],[24,"id10"],[24,"id11"],[24,"id12"],[24,"id13"],[24,"id14"],[24,"id15"],[24,"id16"],[24,"id17"],[24,"id18"],[24,"id19"],[24,"id20"],[24,"id21"]],"Risk Analysis":[[34,"risk-analysis"],[37,"risk-analysis"]],"Risk Attribution":[[38,"risk-attribution"]],"Risk Decomposition":[[39,"risk-decomposition"]],"Risk Limits and Controls":[[39,"risk-limits-and-controls"]],"Risk Management":[[39,null]],"Risk Metrics":[[40,"risk-metrics"]],"Risk Monitoring Dashboard":[[39,"risk-monitoring-dashboard"]],"Risk Parity Portfolio":[[38,"risk-parity-portfolio"]],"Risk-Adjusted Performance":[[39,"risk-adjusted-performance"]],"Risk-Adjusted Returns":[[37,"risk-adjusted-returns"]],"Risk-Based Portfolio Strategies":[[32,"risk-based-portfolio-strategies"]],"Risk-Return Analysis":[[31,"risk-return-analysis"]],"Rolling Analysis":[[1,"rolling-analysis"],[34,"rolling-analysis"],[37,"rolling-analysis"]],"Rolling Factor Analysis":[[36,"rolling-factor-analysis"]],"Rolling Portfolio Analysis":[[38,"rolling-portfolio-analysis"]],"Rolling Risk Analysis":[[39,"rolling-risk-analysis"]],"Running Tests":[[29,"running-tests"]],"Scenario Analysis":[[39,"scenario-analysis"]],"Sector/Style Analysis":[[31,"sector-style-analysis"]],"Setting Up":[[37,"setting-up"]],"Setting Up Multi-Asset Analysis":[[31,"setting-up-multi-asset-analysis"]],"Setting Up Risk Analysis":[[39,"setting-up-risk-analysis"]],"Setting Up the Data":[[38,"setting-up-the-data"]],"Simple Portfolio Construction":[[38,"simple-portfolio-construction"]],"Simulation":[[21,"simulation"],[25,null]],"Single Asset Analysis":[[34,null]],"Statistical Analysis":[[1,"statistical-analysis"]],"Strategy Comparison with Error Handling":[[38,"strategy-comparison-with-error-handling"]],"Stress Testing":[[31,"stress-testing"],[38,"stress-testing"],[39,"stress-testing"]],"Subset Portfolio Analysis":[[33,"subset-portfolio-analysis"]],"Summary Report":[[38,"summary-report"]],"Summary and Best Practices":[[33,"summary-and-best-practices"]],"Summary and Interpretation":[[37,"summary-and-interpretation"]],"System Requirements":[[42,"system-requirements"]],"Test Coverage":[[29,"test-coverage"]],"Test Structure":[[29,"test-structure"]],"Testing":[[29,"testing"]],"The OpenFrame Class":[[40,"the-openframe-class"]],"The OpenTimeSeries Class":[[40,"the-opentimeseries-class"]],"Time Series Analysis":[[31,"time-series-analysis"]],"Time Series Transformations":[[34,"time-series-transformations"]],"Transaction Cost Analysis":[[33,"transaction-cost-analysis"]],"Transformation Methods":[[40,"transformation-methods"]],"Transformations":[[1,"transformations"],[24,"transformations"]],"Troubleshooting":[[42,"troubleshooting"]],"Tutorials":[[35,null]],"Type Aliases":[[26,"type-aliases"]],"Type Hints":[[29,"type-hints"]],"Type Safety":[[40,"type-safety"]],"Types and Enums":[[21,"types-and-enums"],[26,null]],"Types of Contributions":[[29,"types-of-contributions"]],"Understanding Rebalanced Portfolio Simulation":[[33,"understanding-rebalanced-portfolio-simulation"]],"User Guide":[[35,null]],"Using Real Fund Data for Optimization":[[32,"using-real-fund-data-for-optimization"]],"Using conda":[[42,"using-conda"]],"Using pip (recommended)":[[42,"using-pip-recommended"]],"Using the Built-in HTML Report":[[30,"using-the-built-in-html-report"]],"Using with Plotly Express":[[36,"using-with-plotly-express"]],"Utility Functions":[[21,"utility-functions"],[24,"utility-functions"]],"Validation Classes":[[26,"validation-classes"]],"Validation Methods":[[41,"validation-methods"]],"Value Types":[[26,"value-types"],[40,"value-types"]],"Value Validation":[[41,"value-validation"]],"Value at Risk (VaR) Analysis":[[39,"value-at-risk-var-analysis"]],"ValueType Specification":[[27,"valuetype-specification"]],"Verifying Installation":[[42,"verifying-installation"]],"Visualization":[[1,"visualization"],[22,"visualization"],[24,"visualization"],[34,"visualization"],[37,"visualization"]],"Weight Strategy Details":[[32,"weight-strategy-details"]],"Windows":[[42,"windows"]],"Working with Business Days":[[43,"working-with-business-days"]],"Working with Multiple Assets":[[41,"working-with-multiple-assets"]],"Working with Multiple Assets (OpenFrame)":[[43,"working-with-multiple-assets-openframe"]],"Working with Real Data Sources":[[41,"working-with-real-data-sources"]],"Writing Tests":[[29,"writing-tests"]],"Yahoo Finance Integration":[[41,"yahoo-finance-integration"]],"Your First OpenTimeSeries":[[43,"your-first-opentimeseries"]],"macOS":[[42,"macos"]],"openseries Documentation":[[35,null]],"openseries package":[[21,null]],"openseries.OpenFrame":[[2,null]],"openseries.OpenTimeSeries":[[3,null]],"openseries.ReturnSimulation":[[4,null]],"openseries.ValueType":[[5,null]],"openseries.constrain_optimized_portfolios":[[6,null]],"openseries.date_fix":[[7,null]],"openseries.date_offset_foll":[[8,null]],"openseries.efficient_frontier":[[9,null]],"openseries.export_plotly_figure":[[10,null]],"openseries.generate_calendar_date_range":[[11,null]],"openseries.get_previous_business_day_before_today":[[12,null]],"openseries.holiday_calendar":[[13,null]],"openseries.load_plotly_dict":[[14,null]],"openseries.offset_business_days":[[15,null]],"openseries.prepare_plot_data":[[16,null]],"openseries.report_html":[[17,null]],"openseries.sharpeplot":[[18,null]],"openseries.simulate_portfolios":[[19,null]],"openseries.timeseries_chain":[[20,null]]},"docnames":["api/datefixer","api/frame","api/generated/openseries.OpenFrame","api/generated/openseries.OpenTimeSeries","api/generated/openseries.ReturnSimulation","api/generated/openseries.ValueType","api/generated/openseries.constrain_optimized_portfolios","api/generated/openseries.date_fix","api/generated/openseries.date_offset_foll","api/generated/openseries.efficient_frontier","api/generated/openseries.export_plotly_figure","api/generated/openseries.generate_calendar_date_range","api/generated/openseries.get_previous_business_day_before_today","api/generated/openseries.holiday_calendar","api/generated/openseries.load_plotly_dict","api/generated/openseries.offset_business_days","api/generated/openseries.prepare_plot_data","api/generated/openseries.report_html","api/generated/openseries.sharpeplot","api/generated/openseries.simulate_portfolios","api/generated/openseries.timeseries_chain","api/openseries","api/portfoliotools","api/report","api/series","api/simulation","api/types","api_consistency","development/changelog","development/contributing","examples/custom_reports","examples/multi_asset","examples/portfolio_optimization","examples/rebalanced_portfolio","examples/single_asset","index","tutorials/advanced_features","tutorials/basic_analysis","tutorials/portfolio_analysis","tutorials/risk_management","user_guide/core_concepts","user_guide/data_handling","user_guide/installation","user_guide/quickstart"],"envversion":{"sphinx":66,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1},"filenames":["api/datefixer.rst","api/frame.rst","api/generated/openseries.OpenFrame.rst","api/generated/openseries.OpenTimeSeries.rst","api/generated/openseries.ReturnSimulation.rst","api/generated/openseries.ValueType.rst","api/generated/openseries.constrain_optimized_portfolios.rst","api/generated/openseries.date_fix.rst","api/generated/openseries.date_offset_foll.rst","api/generated/openseries.efficient_frontier.rst","api/generated/openseries.export_plotly_figure.rst","api/generated/openseries.generate_calendar_date_range.rst","api/generated/openseries.get_previous_business_day_before_today.rst","api/generated/openseries.holiday_calendar.rst","api/generated/openseries.load_plotly_dict.rst","api/generated/openseries.offset_business_days.rst","api/generated/openseries.prepare_plot_data.rst","api/generated/openseries.report_html.rst","api/generated/openseries.sharpeplot.rst","api/generated/openseries.simulate_portfolios.rst","api/generated/openseries.timeseries_chain.rst","api/openseries.rst","api/portfoliotools.rst","api/report.rst","api/series.rst","api/simulation.rst","api/types.rst","api_consistency.rst","development/changelog.rst","development/contributing.rst","examples/custom_reports.rst","examples/multi_asset.rst","examples/portfolio_optimization.rst","examples/rebalanced_portfolio.rst","examples/single_asset.rst","index.rst","tutorials/advanced_features.rst","tutorials/basic_analysis.rst","tutorials/portfolio_analysis.rst","tutorials/risk_management.rst","user_guide/core_concepts.rst","user_guide/data_handling.rst","user_guide/installation.rst","user_guide/quickstart.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"0f":39,"10i":37,"11articlecox":[1,2],"1e":29,"1f":[37,40],"1y":[34,41],"2f":[31,32,33,34,35,37,38,39,40,43],"2x2":23,"2y":[34,41,43],"3b":43,"3f":[29,31,32,36,38,39],"3y":[30,31,33,36,39],"4f":[32,33,36,38,39],"5th":39,"5y":[32,34,35,37,38],"75th":31,"960px":23,"A":[0,1,2,3,6,14,15,22,24,26,41],"ALL":34,"AT":39,"All":29,"An":[1,2,3,20,24],"And":[1,2],"At":[1,3,24,26,29],"BOTH":[1,2],"Be":29,"Both":[21,40],"By":26,"Down":[1,2],"For":[1,21,23,24,28,29,31,32,35,36,39,41,42,43],"Here":[31,32,33,34,35,43],"How":[1,10,24],"If":[0,1,2,3,7,10,13,15,23,24,29,40,42],"It":[0,1,2,3,15,24,25,30,33,35],"MOST":31,"Most":[1,24,32,42],"My":[10,27,30],"NOT":27,"No":[27,31,39,42],"On":[29,40,42],"Or":[27,35],"Other":35,"Some":27,"The":[0,1,2,3,4,6,7,8,9,12,15,16,18,19,20,21,22,23,24,25,26,27,29,30,32,33,35,36,38,41,42],"These":[3,24,27],"They":[26,27],"This":[1,2,4,10,21,25,26,27,29,30,31,32,33,34,36,37,38,39,40,41,42,43],"To":[1,2,27,29,42],"Up":[1,2,35],"We":29,"When":[10,23,27,29,30,32,38,41],"Which":[18,22],"With":[27,41],"You":[36,37,38,42],"Your":35,"_":[32,34],"__init__":[1,2,3,4,5,26,29],"__metadata__":26,"__version__":42,"_analysi":34,"_build":29,"_commonmodel":[1,2,3,21,24],"aapl":[30,31,34,36,39,41],"ab":[29,32,33,37,38,39],"abov":[1,2,24,26],"absolut":[1,24,33,41],"acceler":42,"accept":[1,24],"access":27,"accord":[0,3,4,8,11,12,13,15,24,25],"account":33,"accru":[3,24],"accrual":[3,24,33],"acf":[1,3,24],"acquisit":42,"across":[1,2,3,24,33,40],"activ":[33,39,42],"actual":[29,32,33,37,40],"actual_length":41,"actual_return":29,"adapt":[1,23,24,36,37],"add":[0,1,2,3,8,11,12,13,15,18,22,24,29,32,36,38,39],"add_logo":[1,17,18,22,23,24,32],"add_timeseri":[1,2,41,43],"add_trac":36,"addit":[29,38,42],"address":29,"adj_r_squar":36,"adjac":[1,24],"adjust":[0,1,2,3,8,15,24,35,36],"advanc":35,"advantag":36,"agg":38,"aggreg":38,"aim":32,"alert":39,"alia":26,"alias":35,"align":[1,2,3,24,26,38,43],"align_index_to_local_cday":[1,24,33,40,41,43],"all_asset":39,"all_metr":[27,31,34,37,43],"all_portfolio":38,"all_properti":[1,2,3,24,27,31,32,33,34,37,38,39,40,41,43],"all_seri":38,"alloc":[6,9,22,43],"allow":[1,2,3,4,6,9,22,24,25,26,36],"allowed_str":26,"almost":[9,22],"along":[1,9,22,24],"alongsid":[1,24],"alpha":[0,1,2,3,4,8,11,12,13,15,23,24,25],"alphabet":[31,39],"alreadi":[],"also":[1,2,26,27,36,38,40,42],"alter":[3,24],"altern":[32,39,43],"alway":[1,2,3,4,24,25,29,32,40],"amazon":31,"among":32,"amzn":[31,41],"analys":[3,24],"analysi":[0,21,22,23,25,30,35,41,42],"analysis_fram":36,"analyz":[24,31,33,34,35,37,38,39,43],"ani":[1,3,4,24,26,29,36,37,38],"annot":[1,2,3,4,24,25,26],"annual":[1,2,4,23,24,25,31,32,33,34,35,38,39,41,42,43],"annual_return":[37,40],"annual_vol":40,"anomali":32,"anoth":[1,24],"anyth":[0,15,26],"api":[21,29,32,40,43],"append":[29,30,31,32,33,36,38,39,41,43],"appl":[30,31,34,36,39,41,42],"apple_analysi":34,"apple_data":34,"apple_drawdown":34,"apple_metr":34,"apple_return":34,"appli":[20,24,32,40],"applic":[32,35,36],"approach":[29,32,33,39],"appropri":[29,41],"approv":29,"approxim":[29,33],"ar1_coef":[4,25],"arbitrary_types_allow":[1,2,3,4,24,25],"architectur":35,"area":29,"aren":36,"arg":[26,29],"argument":[0,3,4,8,11,12,13,15,26,27],"arithmet":[1,2,4,24,25,37],"arithmetic_ret":[1,2,3,24,26,37],"arithmetic_ret_func":[1,24],"arithmetic_return":37,"arithmeticmean":[1,24],"around":[35,40],"array":[3,24,29,40],"articl":[1,2,3,24],"ascend":31,"ascii_on":[3,24,26],"ask":29,"asp":[1,2,3,24],"assert_frame_equ":29,"assess":[37,39],"asset":[1,2,6,9,16,21,22,23,24,27,30,32,33,35,36,37,39,40],"asset1":[31,38],"asset2":[31,38],"asset_a":36,"asset_b":36,"asset_column":[1,2],"asset_comparison":36,"asset_data":31,"asset_group":31,"asset_metr":[31,38,39],"asset_mov":39,"asset_nam":[32,33,38],"asset_param":33,"asset_perform":33,"asset_return":38,"asset_vol":[38,39],"assign":32,"associ":[3,24],"assum":[1,2,3,20,24,37,38,39,41],"assumpt":[1,24],"asymmetri":37,"atleastoneframeerror":26,"attempt":26,"attent":27,"attribut":[1,2,3,4,5,26,35,43],"auto":[10,36],"auto_open":[1,10,17,18,22,23,24,32,36],"autocorr":[1,2,3,24,26],"autocorr_func":[1,24],"autocorrel":[1,3,4,24,25],"autom":29,"automat":[1,23,24,33,36,40,41,42,43],"autoregress":[4,25],"avail":[1,2,3,24,32,33,36,38,39,40,42],"averag":[1,2,3,4,24,25,31,33,34,36,38,39],"avg":31,"avg_corr":38,"avg_correl":[31,38],"avg_return":31,"avg_sharp":31,"avg_stress_return":31,"avg_vol":31,"avoid":[3,24,27],"axi":[1,24,38],"b":[1,2,3,24,26,29,41],"back":[20,24,41],"backfil":[1,2,3,24,26],"backtest":[33,35],"backtest_result":32,"backward":[0,8,12,29],"bal_weight":[1,2,33,38],"bar":[1,17,23,24,26,36,37,43],"bar_freq":[17,23],"bargap":[1,24],"bargroupgap":[1,24],"barmod":[1,24],"base":[1,2,3,4,5,16,22,24,25,26,29,35,37,39,43],"base_column":[1,2],"base_zero":[1,2],"basecci":[3,24,32],"baselin":32,"basemodel":[4,21,25,26,40],"basic":[29,35,38,40],"basket":[1,2],"batch":[1,41],"befor":[26,27,29,40],"behav":26,"behavior":29,"behind":40,"benchmark":[1,2,23,30,35],"benefit":[26,31,38],"best":[29,32,35,38,39],"best_idx":39,"best_strategi":32,"beta":[1,2,5,23,26,36,40],"better":[23,31,42],"beyond":[38,39],"bfgs":26,"bfill":[1,2,3,24,26],"bias":[1,2,3,24],"bin":[1,24,29,42],"bind":26,"bme":[1,2,3,24,26,34,37,40,41,43],"bnd":32,"bodi":[23,30],"bond":[32,33,36,37,38],"bond_data":37,"bond_tick":37,"bool":[0,1,2,3,8,9,10,14,17,18,22,23,24],"boolean":[3,24],"bothstartandenderror":26,"bottleneck":42,"bought":[1,2],"bound":[1,6,9,22,24,26],"box":[1,3,24],"bqe":[1,2,3,24,26,40,41],"branch":29,"breach":39,"break":[29,37],"breakpoint":23,"brownian":[4,25],"browser":[1,10,18,22,23,24,37,43],"build":[40,42],"built":[27,29,32,35,40,41,43],"bump":[0,12,15,29],"busdaycalendar":[0,13],"busi":[0,1,2,3,8,11,12,13,15,24,29,35],"buy":33,"buysell_qti":[33,38],"bye":[1,2,3,17,23,24,26,37,41],"byte":26,"c":[1,2,24,35,41,42],"cagr":[1,2,23,24,37,43],"calc_rang":[1,24],"calcul":[0,1,2,3,21,24,26,29,31,32,33,35,36,37,38,39,43],"calculate_return":29,"calculate_sharpe_ratio":29,"calendar":[0,1,2,3,8,11,13,24,29,35,41,42,43],"call":[3,24,27],"calmar":32,"can":[0,3,8,10,11,12,13,15,23,24,26,27,30,31,32,33,36,37,38,40,42,43],"cap":[31,36],"capabl":[21,23,29,43],"capit":[1,2],"capm":[1,2],"captor":[1,14,18,22,24,32],"captorab":42,"captorlogotyp":14,"captur":[1,2,23],"capture_ratio_func":[1,2],"captureratio":[1,2],"carlo":35,"case":[1,2,3,24,29,39,43],"cash":[1,2,35],"cash_analysi":33,"cash_index":[1,2],"cash_pct":33,"cash_posit":33,"cash_seri":33,"categori":35,"caught":40,"cci":26,"cd":[29,42],"cdn":[1,10,17,18,22,23,24,26,36],"certain":32,"cg":26,"chain":[20,24,40],"chang":[1,10,24,28,29,32,36,37,38,39,40,41],"changelog":[29,35],"characterist":[31,37,38,39],"chart":[23,36,37,43],"check":[27,29,35,39,42],"checker":26,"checkout":29,"chi":[3,24],"choic":40,"chosen":[1,2,3,24],"ci":42,"class":[2,3,4,5,29,35,43],"classmethod":[3,4,24,25],"classvar":26,"clean":[40,41],"clear":29,"clone":[29,42],"close":[5,26,27,30,31,32,33,34,35,36,37,38,39,40,41,43],"closer":33,"cluster":[1,24],"co":[1,2],"cobyla":26,"code":[0,1,3,4,8,11,12,13,15,24,25,42],"coeffici":[1,2,4,25,36],"col":[32,36],"collect":[1,40],"colour":[18,22],"column":[1,2,3,24,31,38,39,40,41],"column_nmbr":[3,24,40],"columns_lvl_on":[1,2],"columns_lvl_zero":[1,2,32,40],"com":[1,2,3,24,29,31,42],"combin":[3,24,26],"comment":39,"commit":42,"commod":[33,38],"common":[0,2,20,21,31,35,38,40,41],"compar":[1,2,23,24,32,33,35,37,38,39,40,43],"comparison":[1,2,3,21,23,24,29,30,31,33,35,36,39,43],"comparison_fram":[30,32,33,37,38,39],"comparison_metr":[32,33,37,38],"comparison_seri":33,"compat":[23,29,42],"compil":42,"complet":[23,35,38,39,43],"compon":[1,2,24],"compound":[1,24],"comprehens":[23,24,29,31,32,33,34,35,38,39,41,43],"comput":[1,3,24,41,42],"concaten":40,"concentr":39,"concept":35,"concis":29,"conda":[28,29,35],"condit":[1,24,29,35,37,40],"conditional_value_at_risk":[1,24],"confid":[37,39,40],"confidence_level":39,"config":[1,2,3,4,10,14,24,25,26,32],"config_and_layout":14,"configdict":[1,2,3,4,24,25,26],"configur":[1,2,3,4,24,25,26,29,32],"conflict":42,"conform":[1,2,3,4,24,25,26],"consecut":39,"consid":[29,33,40,41,42],"consider":35,"consist":[21,35,36],"consol":29,"constitu":[1,2,3,19,22,24,30,31,32,33,36,37,38,39,40,41,43],"constr":26,"constrain":[6,22,26],"constrain_optimized_portfolio":22,"constraint":35,"construct":[26,29,32,35,43],"contain":[1,2,10,21,23,24,30,33,36],"content":23,"contravari":26,"contrib":38,"contribut":[33,35,38,39,42],"control":[1,2,3,24,35],"conveni":[3,24],"convert":[1,2,3,10,24,27,31,32,34,37,38,39,40,41,42,43],"coordin":[1,24],"copi":[1,2,3,24,31,40,43],"core":[3,24,26,35],"corp":[31,39],"corr":[31,38],"corr_pair":31,"corr_scal":[1,2],"correct":[3,24,26,27,42],"correl":[2,5,26,32,35,36,37,39,43],"correl_matrix":[1,2,27,31,32,37,38,39,43],"correlation_matrix":[31,37,38,39],"cost":[35,38],"count":[38,39],"countri":[0,1,3,4,8,11,12,13,15,24,25,26,33,40,41,43],"countriesnotstringnorliststrerror":[0,13,26],"countriestyp":[0,1,3,4,8,11,12,13,15,24,25,26],"countryinput":26,"countrysettyp":26,"countrystringtyp":26,"cov":[29,42],"covari":26,"cover":[36,41],"coverag":42,"cox":[1,2],"crash":39,"creat":[1,2,3,4,18,22,23,24,25,26,27,29,30,31,32,33,34,35,37,38,39,40,42],"creation":29,"criteria":31,"crucial":38,"css":[1,10,23,24,30,36],"csv":34,"cubic":[1,24],"cumprod":38,"cumsum":36,"cumul":[1,2,3,23,24,38,40,41,42,43],"cumulative_contrib":38,"currenc":[3,24,26,32],"currencystringtyp":[3,24,26],"current":[6,16,18,22,29,31,32,34,36,37,39],"current_d":39,"current_metr":39,"current_portfolio":32,"current_portfolio_df":32,"curv":[1,24],"curve_point":[6,22],"curve_typ":[1,24],"custom":[23,27,29,30,35,40,41,43],"custom_dashboard":36,"custom_df":43,"custom_fram":43,"custom_holiday":[0,1,8,11,12,13,15,24],"custom_portfolio":[38,43],"custom_report":30,"custom_weight":[33,38],"custom_weight_portfolio":33,"cut":[9,22],"cvar":[1,5,24,26,34,35,37,40,43],"cvar_90":37,"cvar_95":[37,40],"cvar_99":37,"cvar_down":[1,2,3,24,26,34,37,39,40,43],"cvar_down_func":[1,24,37,39],"cvar_valu":39,"d":[1,3,4,24,25,26,37,39],"d_rang":[3,24],"daili":[1,2,3,23,24,34,35,37,38,39,40,41,42,43],"daily_var_95":39,"dashboard":[35,36],"data":[0,2,3,4,6,7,9,10,16,17,18,19,21,22,23,25,27,29,30,31,33,34,35,36,37,39,42],"data_typ":33,"databas":[3,24],"datafram":[1,2,3,4,9,16,18,19,22,24,25,26,31,32,36,39,40],"dataset":[40,41,42],"date":[1,2,3,4,7,8,11,12,13,15,20,23,24,25,26,29,32,33,34,35,36,37,38,39,43],"date_fix":0,"date_list":40,"date_offset_fol":0,"date_rang":[3,24,36,41],"datealignmenterror":[1,24,26],"datefix":[0,29],"datelisttyp":[3,24,26],"datestringtyp":26,"datetim":[0,1,7,24,26,33,37,39,40,41,42,43],"datetime64":26,"datetimeindex":[3,24,41],"datetyp":[0,7,8,26],"dateutil":42,"day":[0,1,2,3,4,8,11,12,15,24,25,26,29,31,33,34,35,37,38,39],"day_chunk":[1,2,3,24],"days_in_year":[3,24],"daysinyeartyp":[1,2,3,4,24,25,26],"dbc":38,"dd":[3,24,31,33,38],"ddate":[0,15],"dec1":26,"dec2":26,"declar":26,"decomposit":35,"dedic":26,"deepcopi":40,"def":29,"default":[0,1,2,3,4,6,8,9,10,11,12,13,14,15,18,20,22,23,24,25,26,27,29,36],"defaultinterpreterpath":29,"defin":[1,24,31,32,38,39],"definit":26,"del":40,"delbert":[1,2],"delet":[1,2,3,24],"delete_lvl_on":[3,24],"delete_timeseri":[1,2,41],"demean":[1,24],"demonstr":[30,32,33,34,36,37,38,39],"denomin":[1,2],"densiti":26,"depend":[1,2,23,29,35,36],"dependent_column":[1,2],"dependent_variable_idx":36,"deriv":[1,10,24],"describ":29,"descript":[29,34,37,40,43],"design":[21,27,35,40],"desir":26,"desktop":[1,23,24,30,36],"detail":[1,2,23,26,28,29,31,35,38,43],"detailed_portfolio":[33,38],"detect":[1,23,24,40],"determin":[0,1,2,3,8,18,22,24],"dev":[1,24,29],"develop":32,"deviat":[1,2,4,24,25,37,39,40],"devic":[1,23,24,36],"df":[36,41],"dframe":[3,4,24,25,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"diagnost":24,"dict":[1,2,14,24],"dictionari":[1,2,3,4,10,24,25,26],"differ":[0,1,2,3,7,24,27,29,31,32,35,36,37,38,39,40],"diffus":[4,25],"dir":[1,24],"direct":[23,31,32,34,36],"directori":[1,17,18,22,23,24,29],"directorypath":[1,18,22,24],"discuss":29,"display":[1,10,23,24,27,30,32,43],"displaymodebar":36,"distribut":[1,4,24,25,32,35,36,39,42,43],"div":[1,10,23,24,26,30,32,36,40],"div_id":10,"diversif":40,"diversifi":[38,39],"divid":[1,2,3,24],"divisor":[3,24],"dlta_degr_freedm":[1,2,3,24],"doc":29,"doctyp":[23,30],"document":[23,36,42,43],"doe":[0,1,15,24,40],"doesn":27,"dogleg":26,"domest":[3,24],"don":[1,2,27],"download":[31,33,34,35,37,38,39,41,43],"downsid":[1,24,37,39,40],"downside_devi":[1,2,3,24,26,37,39],"downside_vol":37,"downstream":[1,24],"draw":[1,24],"drawdown":[1,24,27,31,32,33,34,35,36,38,39,40,43],"drift":33,"drift_adjust":[1,24],"drop":[1,24,26],"drop_extra":[1,2,33,38],"dropna":41,"dt":[0,1,2,3,4,7,8,11,12,15,24,25,33,40,42,43],"due":26,"dummi":36,"dump":[1,24],"duplic":26,"dure":[1,2,31,38],"e":[1,24,26,40,42],"eaf":38,"earli":41,"earlier":[1,20,24],"early_seri":41,"easiest":42,"econom":[1,2],"edg":29,"educ":[1,2],"eem":38,"efa":[36,38],"effect":[27,40,41],"effici":[6,9,18,22,31,32],"efficient_fronti":[16,18,22,27,32,38],"efficient_threshold":31,"efram":[9,22,27,32,38],"either":[1,24],"elif":[33,37,39],"els":[31,32,33,37,39],"emb":30,"embed":[23,35,36],"emerg":[32,38],"empathi":29,"empti":[1,14,24,26,29],"en":[1,24],"enabl":29,"encod":30,"encount":[32,42],"end":[0,1,2,3,4,11,24,25,26,33,40,41,42,43],"end_cut":[1,2],"end_dat":[33,41],"end_dt":[3,24],"endyear":[0,13],"energi":32,"enforc":41,"engin":37,"enhanc":29,"ensur":[29,40,42,43],"entir":41,"enum":[5,35,40,43],"enumer":[31,32,33,36,38,39],"environ":42,"eq_weight":[1,2,26,27,31,32,33,38,39,40,43],"equal":[1,2,31,35,39,40,43],"equal_weight":[1,2,31,33,38,39],"equal_weight_portfolio":[32,33,38],"equal_weight_portfolio_df":[32,38],"equiti":[32,33],"equival":[1,24],"error":[1,2,23,29,33,40,41,42],"especi":29,"estat":32,"etc":[26,29,43],"etf":[32,39],"etf_tick":32,"evalu":[33,39],"event":[38,39],"everi":40,"everyth":29,"ewma":[1,2,3,5,24,26],"ewma_risk":[1,2],"ewma_var":[5,26],"ewma_var_func":[3,24],"ewma_vol":[5,26],"ewma_vol_func":[3,24],"exact":26,"examin":[33,37],"exampl":[10,29,30,31,32,34,36,40,42,43],"exceed":[1,24],"excel":[1,24,31,32,34,37,38,39,42,43],"excel_writ":37,"excelwrit":39,"except":[24,32,35,36,38],"exchang":42,"exchange_calendar":[0,1,3,4,8,11,12,13,15,24,25],"exclud":[3,9,22,24,33],"execut":33,"exist":[1,23,24,26,29,31,34,35,37,40],"exogen":[1,2],"expect":[27,29,32,37,38,39,40,41],"expected_length":41,"expected_return":29,"explain":40,"explan":29,"explicit":[3,4,26,27,40],"explor":43,"exponenti":[1,2,3,24],"export":[10,35,38],"extend":[36,38],"extens":[1,24,29],"extern":35,"extra":26,"extract":[33,39],"extrem":[37,39],"extreme_events_1pct":39,"extreme_events_5pct":39,"f":[27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"factor":[1,2,3,24,35],"factor_nam":36,"factor_seri":36,"factor_tick":36,"factori":[3,24],"fail":[31,32,33,34,36,37,38,39,40,41],"failur":38,"fall":40,"fals":[0,1,2,3,8,10,17,23,24,26,31,32,33,36,38,39],"fama":36,"faster":42,"fat":[37,39],"favor":40,"featur":23,"fee":[3,20,24],"feedback":29,"ffill":[1,2,3,24,26],"field":[3,4],"fieldinfo":[1,2,4,25,26],"fig":[10,34,36],"fig_config":[10,36],"figdict":32,"figur":[1,10,17,18,22,23,24,30,35],"fiilenam":40,"file":[1,10,17,18,22,23,24,26,29,30,36,38,40],"fileexistserror":[1,24],"filenam":[1,10,17,18,22,23,24,30,34,36,37,41,43],"filepath":30,"fill":[1,24,26,40,41,43],"filter":[27,31],"filterwarn":39,"final":[33,38],"final_contrib":38,"final_twr":33,"financ":[1,2,42],"financi":[0,3,4,21,23,25,29,34,35,36],"find":[0,12,31,32,38],"finit":41,"first":[0,1,2,13,15,24,29,31,35,37,38,39,40],"first_column":[1,2],"first_idx":[1,3,24,26,29,31,32,33,34,37,38,39,40,41,43],"first_indic":[1,2,26],"fit":[1,2],"fitted_seri":[1,2],"fix":[3,24,29],"fixerd":[0,7],"flag":[3,14,24],"flight":39,"float":[1,2,3,4,6,9,20,22,24,25,26,29,32,40],"float64":[9,16,22],"focus":[29,31,38,40],"folder":[1,24],"follow":[0,8,29,40,42],"forg":[28,29,35,42],"fork":29,"form":[3,4],"format":[0,1,2,7,24,26,29,36,40,42],"formatted_export":41,"formula":40,"forward":[0,8,41,43],"found":[0,1,2,12,24,41],"foundat":[37,39,43],"frame":[2,26,27,30,31,32,33,36,37,38,39,40,41,43],"frame_outli":41,"frame_valu":41,"framework":[35,38,42],"free":[1,24,29],"french":36,"freq":[1,2,3,24,33,34,37,38,40,41,43],"frequenc":[1,2,3,24,35,38,40,41],"frequency_nam":[33,38],"frequent":[3,24,35],"fresh":[42,43],"friction":33,"from_1d_rate_to_cumret":[3,24],"from_array":[3,24,29,32,37,40,41],"from_dat":[1,2,3,24],"from_deepcopi":[1,2,3,24,27,37,40,43],"from_df":[3,24,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"from_dt":[1,24],"from_fixed_r":[3,24,41],"from_gbm":[4,25],"from_lognorm":[4,25,33,40,42,43],"from_merton_jump_gbm":[4,25],"from_norm":[4,25],"front":[20,24],"frontier":[6,9,22,32],"frontier_df":[27,32,38],"frontier_point":[9,22,32],"full":[10,24,33,40,41],"full_portfolio":33,"fulli":[1,24],"function":[1,2,3,6,9,10,16,20,22,26,29,30,35,36,39],"fund":[1,2,33,35],"fund_univers":32,"fund_universe_isin":32,"fundament":[37,39,40],"g":[1,24,26,40],"gap":[1,24,41],"gb":[40,41,43],"ge":[1,2,4,25,26],"general":[1,24,32],"generat":[0,1,3,4,11,13,17,19,22,24,25,30,32,33,35,36,37,38,39,41],"generate_calendar_date_rang":0,"generic":26,"geo_ret":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,40,42,43],"geo_ret_func":[1,24],"geometr":[4,25,27,31,33,38,40],"get":[27,31,32,33,34,35,37,38,39],"get_previous_business_day_before_today":[0,32],"git":[29,42],"github":[29,42],"give":43,"given":[0,1,2,3,8,15,16,22,24],"gld":[33,38,39],"global":32,"go":[10,29,36],"goff":[1,2],"gold":[33,38,39],"good":[32,37],"googl":[29,30,31,39,41],"got":[29,41],"grace":38,"graph":36,"graph_object":[10,36],"greater":[0,1,11,24],"grid":23,"group":[1,24,26,31,35],"group_asset":31,"group_fram":31,"group_metr":31,"group_nam":31,"group_seri":31,"growth":[1,24,31],"gspc":[35,36,37,38,43],"gt":[4,25],"guid":[29,41],"h1":30,"handl":[1,10,21,24,27,32,33,35,36,43],"happen":[4,25],"head":[23,30],"header":36,"healthcar":32,"heavi":37,"heavili":[1,24],"height":[32,36],"help":[27,40,41],"high":[29,31,32,33,38,39],"higher":[26,32,33,39,42],"highest":31,"highlight":[1,18,22,24],"histnorm":[1,24],"histogram":[1,24,34,36,37,43],"histori":[30,31,32,33,34,35,36,37,38,39,41,43],"hold":[1,2,3,4,24,25],"holiday":[0,1,8,11,12,13,15,24,42],"holiday_calendar":0,"home":[3,24],"hook":[29,42],"horizon":39,"howev":26,"html":[1,10,17,18,22,24,29,35],"html_div":[30,36],"html_templat":30,"html_util":10,"http":42,"https":[1,2,3,24,29,32,42],"iana":42,"id":23,"idea":29,"ideal":36,"identifi":[1,3,5,9,22,24,26,31,38,39,40,43],"idx":[32,38],"idxmax":[32,38],"idxmin":32,"ignor":[10,36,39],"iloc":[3,24,27,31,32,33,34,36,37,38,39],"impact":[38,39],"implement":[29,39],"impli":[1,24,37],"implicit":33,"import":[10,23,29,30,31,32,33,34,36,37,38,39,40,42,43],"importerror":42,"improv":[6,22,29,32],"inc":[1,24,31,34,39,41],"includ":[1,2,10,18,21,22,23,24,29,30,32,33,36,38,39,42],"include_plotlyj":[1,10,17,18,22,23,24,36],"inclus":[3,24,29],"incomplet":[3,24],"incorrect":27,"incorrectargumentcomboerror":[3,24,26],"independ":[1,2,39],"index":[1,2,3,23,24,31,32,33,35,37,38,39,41,43],"index_col":41,"indic":[3,24],"individu":[3,16,22,24,31,33,35,36,38,39,40,43],"individual_return":31,"individual_vol":31,"induc":[4,25],"industri":40,"infer":26,"infer_vari":26,"info_ratio_func":[1,2],"inform":[1,2,5,23,26,27,33,43],"inherit":[21,40],"initi":[1,4,16,22,24,25,26],"initialvaluezeroerror":[1,24,26],"inlin":10,"inner":[1,2,26,40],"inplac":41,"input":[0,3,4,12,26],"instal":[29,35,43],"instanti":26,"instead":[23,27,42],"instrument":[3,24],"instrument_id":[3,24],"int":[0,1,2,3,4,6,8,9,11,13,15,19,22,24,25,26,31,39],"intdefault":26,"integ":[0,1,2,3,8,15,24],"integr":[23,29,36,40,43],"integratedtermin":29,"intend":[1,2,3,24],"intens":41,"interact":[23,29,30,35,37,42,43],"intercept":[1,2,36],"interest":[33,36,39],"intermedi":40,"intermediate_seri":40,"internal":[27,36],"internat":[36,38],"interpol":[1,24],"interpret":35,"intersect":[40,41],"inv_vol":[1,2,26,32,38,40],"inv_vol_portfolio":32,"inv_vol_portfolio_df":32,"invalid":[29,31,32,33,36,38,39,40,41],"invalid_seri":[40,41],"invari":26,"invers":[38,40],"invesco":39,"invest":[1,2,32,33,37],"investment_univers":[32,33],"investopedia":[1,2,3,24],"ishar":39,"isin":[3,24,32],"iso":[0,1,3,4,8,11,12,13,15,24,25,40,41],"issu":[29,32,40,41],"item":[0,1,2,3,7,24,27,31,32,33,34,36,38,39],"item_count":[1,2,31,32,33,38,39,40],"item_idx":41,"iter":26,"ixic":43,"j":[1,2,31,32,38],"javascript":[10,23,30,36],"jefe":[1,2],"jensen":[1,2,23],"jensen_alpha":[1,2],"jensensmeasur":[1,2],"join":[38,40],"journal":[1,2],"jp":41,"js":[1,10,18,22,24],"json":[1,24,29,32,34,40,43],"jump":[4,25],"jumps_lamda":[4,25],"jumps_mu":[4,25],"jumps_sigma":[4,25],"just":43,"k":[1,24],"kappa":[1,24,37,39],"kappa3_ratio":[1,2,3,24,26,37,39],"kde":[1,24,26],"key":[1,2,31,32,33,34,38],"key_metr":[27,31,32,38],"keyerror":[1,2],"keyword":[3,4,26],"known":[1,24],"krylov":26,"kurtosi":[1,2,3,24,26,34,37,39,43],"kurtosis_func":[1,24],"l":26,"label":[1,3,4,24,25,26,29,31,32,33,34,36,37,38,39,40,43],"labelsnotuniqueerror":26,"lag":[1,3,4,24,25],"lambda":[31,32,38],"languag":29,"larg":[39,40,41,42],"large_seri":41,"larger":[1,24,37],"last":[0,1,2,13,23,24,30,36,37,39,40],"last_idx":[1,3,24,26,29,31,32,33,34,37,38,39,40,41,43],"last_indic":[1,2,26],"late":41,"late_seri":41,"later":[1,20,24],"latest":42,"launch":29,"layer":35,"layout":[14,23,30,36],"le":[1,2,4,25,26],"learn":[1,2,42,43],"least":[1,2,20,24,29,31,32,38],"left":[1,2,3,24,40],"len":[29,31,32,33,37,38,39,41],"length":[1,2,3,23,24,26,29,31,33,34,37,38,39,40,42,43],"lengths_of_item":[1,2,26,40],"less":[1,2,3,24,35],"let":[33,37,38,39,43],"level":[1,2,3,24,33,37,39],"librari":[1,18,22,24,32,35,36,37,40,42],"like":[26,43],"limit":[1,24,35],"line":[1,2,17,23,24,26,36],"line_fram":[18,22,32],"linear":[1,2,26],"linearregress":[1,2],"link":10,"lint":[29,42],"list":[0,1,2,3,4,8,11,12,13,15,24,25,26,29,32,40,41],"liter":[1,2,3,24,35],"literalbarplotmod":[1,24,26],"literalbizdayfreq":[17,23,26],"literalcaptureratio":[1,2,26],"literalframeprop":26,"literalhowmerg":26,"literaljsonoutput":[1,24,26],"literallineplotmod":[1,18,22,24,26],"literalminimizemethod":[6,9,22,26],"literalnanmethod":[1,24,26],"literalpandasreindexmethod":[1,24,26],"literalplotlyhistogrambarmod":[1,24,26],"literalplotlyhistogramcurvetyp":[1,24,26],"literalplotlyhistogramhistnorm":[1,24,26],"literalplotlyhistogramplottyp":[1,24,26],"literalplotlyjslib":[1,10,17,18,22,23,24,26],"literalplotlyoutput":[1,10,17,18,22,23,24,26],"literalportfolioweight":26,"literalquantileinterp":[1,24,26],"literalseriesprop":26,"literaltrunc":[1,2,26],"ljung":[1,3,24],"ljung_box":[3,24],"lmbda":[1,2,3,24],"ln":[1,24,40],"load":[14,24,30,31,32,33,34,35,36,37,38,39],"load_plotly_dict":32,"loc":[27,31,32,33,35,38,39],"local":[1,3,24,29,32,39],"local_cci":[3,24],"locat":[1,24,29],"lock":[1,2,3,24,29,42],"log":[1,24,34,40,41,43],"lognorm":[4,25,43],"logo":[1,10,14,18,22,24,36],"logo_url":10,"long":33,"long_column":[1,2],"longer":23,"longnam":32,"lookback":39,"lookback_d":39,"loss":[3,24,37,39],"low":[32,39],"lower":[1,24,26,32,33,34],"lower_partial_moment_func":[1,24],"lowest":31,"lpm_p":[1,24],"lvl_one":[3,24],"lvl_zero":[3,24,27,30,31,32,33,34,35,36,37,38,39,40,41,43],"lvl_zero_item":[1,2],"m":[1,24,29,37,39,42],"m1":42,"m2":42,"machin":42,"main":[35,40],"maintain":29,"major":29,"make":[29,33,36,42],"make_portfolio":[1,2,27,31,32,33,38,39,40,43],"make_subplot":36,"manag":[29,32,35,38,41,42],"mani":40,"manipul":[21,42],"manual":[0,12,26,31,39],"mar":[1,24],"mark":26,"marker":[18,22,26,32],"market":[0,1,2,3,4,8,11,12,13,15,24,25,26,31,32,33,36,37,38,39,40,41],"market_cap_portfolio":38,"market_column":[1,2],"market_data":31,"market_proxi":[31,38],"market_returns_df":38,"market_seri":36,"marketsnotstringnorliststrerror":26,"master":29,"match":26,"matrix":[1,2,31,37,38,39,43],"max":[1,24,27,31,32,33,34,35,36,37,38,39,40],"max_concentr":39,"max_dd":[33,38,40,43],"max_dd_dat":37,"max_div":[1,2,26,32,38,40],"max_div_portfolio":[32,38],"max_div_portfolio_df":[32,38],"max_drawdown":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,40,43],"max_drawdown_cal_year":[1,2,3,24,26,37],"max_drawdown_d":[1,2,3,24,26,34,37,39],"max_drawdown_func":[1,24],"max_length":[3,24,26],"max_leverage_loc":[1,24],"max_sharpe_idx":[32,38],"max_sharpe_portfolio":32,"max_sharpe_portfolio_df":32,"max_sharpe_weight":32,"max_var_daili":39,"max_volatil":39,"max_weight":39,"maxdiversificationnanerror":[32,38,40],"maxdiversificationnegativeweightserror":[32,38,40],"maxim":[32,38],"maximum":[1,6,9,22,24,33,34,37,39,40,43],"may":[14,26,27,31,32,33,34,36,37,38,39,40,42],"md":29,"mdd":[1,24],"mead":26,"mean":[1,2,4,16,22,24,25,31,33,34,35,36,37,38,39,40,41],"mean_annual_return":[4,25,33,40,42,43],"mean_annual_vol":[4,25,33,40,42,43],"mean_return":29,"meaning":40,"measur":[1,2,24,29,37,39],"mechan":33,"media":[23,31],"medium":33,"mega":31,"member":29,"merg":[1,2,26,29,40],"merge_seri":[1,2,40],"mergingresultedinemptyerror":26,"merton":[4,25],"met":[1,24],"meta":31,"metadata":[1,2,4,25,26],"method":[2,3,4,5,6,9,16,18,21,22,25,31,32,33,34,35,36,38,39,43],"metric":[2,21,23,29,31,32,33,34,35,38],"microsoft":[30,31,39,42],"midpoint":26,"might":27,"min":[31,32,33,36,38,39],"min_accepted_return":[1,24],"min_length":[3,24,26],"min_leverage_loc":[1,24],"min_period":[1,24],"min_sharp":39,"min_vol_idx":32,"min_vol_overweight":[1,2,26,32,38,40],"min_vol_portfolio":[32,38],"min_vol_portfolio_df":[32,38],"min_vol_row":32,"min_vol_weight":32,"minim":[6,9,22,29,42],"minimize_method":[6,9,22],"minimum":[1,6,9,22,24,33,35,39,40],"minlen":[3,24,26],"minor":29,"minut":43,"mismatch":[29,41],"miss":[0,1,8,11,12,13,15,24,35,40,43],"mix":[39,40],"mixedvaluetypeserror":26,"mm":[3,24],"mobil":[1,10,23,24,30,36],"mode":[1,23,24,27],"model":[1,2,3,4,24,25,26],"model_config":[1,2,3,4,24,25,26],"moder":37,"modifi":[1,24,27,29,31,34,37,38,39,40,41,43],"modul":[0,22,29,35,42],"moment":[1,24],"monitor":[28,35],"mont":35,"month":[0,1,2,3,8,23,24,33,34,35,38,39,40,41,43],"monthly_metr":41,"monthly_rebalanc":33,"monthly_rebalanced_seri":33,"monthly_return":37,"monthly_vol":37,"months_from_last":[1,2,3,24,40,41],"months_offset":[0,1,8,24],"motion":[4,25],"motiv":29,"move":[1,2,3,24,39],"ms":[1,24],"msft":[30,31,34,39,41],"msg":29,"multi":[1,2,21,32,35,43],"multi_asset_analysi":31,"multi_factor_linear_regress":[1,2,36],"multiindex":[1,2],"multipl":[1,9,22,23,31,32,34,35,38],"multiple_seri":41,"multipli":[1,24],"must":[0,3,11,24,26,29,38,40,41],"mutabl":40,"mutat":35,"my_plot":[10,36],"mypi":[29,42],"n":[1,24,31,32,33,34,36,37,38,39],"n_asset":39,"name":[1,2,3,4,6,18,22,24,25,26,29,30,31,32,33,34,36,37,38,39,40,41,42,43],"nameerror":[1,24],"nan":[1,24,32,43],"nanalysi":38,"nasdaq":43,"nasset":31,"nativ":[31,32,38,39],"nav":32,"naverag":31,"navperunit":32,"nbest":32,"ncash":33,"ncg":26,"ncorrel":43,"ncreat":[31,38],"ndarray":[9,16,22],"ndetail":33,"ndiffer":33,"ndiversif":31,"nearest":[1,2,3,24,26],"necessari":[26,37],"need":[0,27,29,30,32,36,40,42,43],"negat":[1,2,24,31,32,37,39],"nelder":26,"nequal":31,"netflix":31,"never":40,"new":[0,1,2,3,4,15,24,27,28,29,40,41,42],"new_seri":[1,2,41],"newcom":29,"newton":26,"next":[31,35],"nfactor":36,"nflx":31,"ninvest":32,"nkey":31,"nminimum":32,"nmonth":33,"nmulti":31,"non":38,"none":[0,1,2,3,4,6,8,9,10,11,12,13,15,17,18,22,23,24,25,26,33],"nonetyp":[1,2,4,25,26],"nonnegativefloat":[4,25],"noptim":[32,38],"normal":[1,4,24,25,26,29,37,39],"note":[23,29,31,32,37,39],"now":[27,33,36,37,38,43],"noweightserror":26,"np":[34,37,41],"nportfolio":39,"nr":36,"nrank":[31,32,38],"nresult":[34,38],"nrisk":39,"nroll":38,"nsimul":[32,38],"nsmallest":39,"ntotal":33,"num_port":[9,19,22,32,38,39],"num_simul":39,"numba":42,"number":[0,1,2,3,4,6,8,9,11,15,19,22,24,25,26,31,33,37,38,40,43],"number_of_sim":[4,25,33,40,42,43],"numberofitemsandlabelsnotsameerror":26,"numer":[1,2,32,40,41,42],"numpi":[26,34,37,41,42],"nvda":31,"nverif":39,"nvidia":31,"nworst":39,"nyse":[40,41],"object":[1,2,3,4,20,23,24,25,30,36,40,41],"observ":[1,2,3,24,27,31,33,34,36,37,38,39,40,43],"occur":[1,24],"offset":[0,1,2,3,8,15,24],"offset_business_day":0,"ok":39,"old_fe":[20,24],"omega":[1,24,37,39],"omega_ratio":[1,24,26,37,39],"omega_ratio_func":[1,24],"onc":[29,34,37,41],"one":[1,2,3,6,20,22,23,24,29],"onli":[1,2,3,4,10,23,24,27,32,33,37,39,41],"opac":[1,24],"open":[1,10,18,22,23,24,30,37,43],"openfram":[6,9,16,17,19,21,22,23,24,26,30,31,32,33,35,36,37,38,39],"openframepropertieslist":26,"openpyxl":[37,42],"openseri":[0,1,22,23,24,25,26,27,28,30,31,32,33,34,36,37,38,39,40,41,43],"openseries_env":42,"opentimeseri":[1,2,5,6,16,20,21,22,26,27,29,30,31,32,33,34,35,36,37,38,39,41,42],"opentimeseriespropertieslist":26,"oper":[27,40,41,42],"optim":[1,6,9,16,18,23,24,27,29,35,36,40],"optimal_portfolio":[27,32,38],"optimal_portfolio_df":32,"optimal_portfolio_seri":32,"optimal_weight":38,"optimization_plot":32,"option":[1,2,3,10,23,24,27,36],"ord_least_squares_fit":[1,2],"order":[1,24,39],"ordinari":[1,2],"org":[1,2,24],"orient":[1,10,24,36],"origin":[27,29,31,34,37,38,39,40,41,43],"original_d":40,"original_valu":40,"os":29,"otherwis":[1,10,24],"outcom":[1,24],"outer":[1,2,26,40],"outlier":[1,24],"output":[1,2,5,10,18,22,23,24,26],"output_path":[10,36],"output_typ":[1,10,17,18,22,23,24,30,32,36],"outsid":[1,24],"overlap":[1,24],"overlay":[1,24,26],"overrid":[1,2,3,24],"overview":[35,43],"overweight":[35,40],"overwrit":[1,24],"owntyp":[26,32,38,40],"p":[1,3,24,30,33,35,36,37,38,39,43],"p_":40,"p_t":40,"pacf":[1,3,24],"packag":[3,24,35,42],"pad":[1,2,3,24,26],"page":[10,17,23,28,35],"pair":[31,38],"pair_fram":31,"panda":[1,2,3,4,24,25,26,29,30,31,32,36,37,40,42],"pandas_df":[3,24],"panel":36,"parallel":42,"param":33,"paramet":[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,32,33,40],"parenthes":27,"pariti":40,"pars":[0,3,4,7,42],"parse_d":41,"partial":[1,3,24],"partial_autocorr":[3,24,26],"pass":[6,9,22,26,29],"patch":29,"path":[1,10,17,23,24,30,36],"path_typ":[1,24],"pathlib":[10,36],"pathtyp":[1,24],"pattern":[3,24,25,26,27,32,35],"pay":27,"pct_chang":[1,24],"pd":[29,30,36,37,39,41],"pdb":29,"pdf":[1,2],"penal":[1,24,37],"pep":26,"per":[1,3,24,31,37,40],"percent":26,"percentag":[1,24,31,32,33,37,38,39],"percentage_metr":31,"percentil":[1,24,31,39],"percentile_idx":39,"perform":[1,2,23,24,26,29,35,36,40,42,43],"period":[1,2,3,23,24,29,30,31,32,33,34,35,36,37,38,39,40,41,43],"periods_in_a_year":[1,3,24,26,37,40],"periods_in_a_year_fix":[1,2,3,24],"pick":[3,24,31],"pin":[29,42],"pip":[35,43],"pitfal":27,"place":[1,2,3,24,27,37,39,40],"placehold":[3,24],"plan":42,"platform":[31,35],"pleas":[28,29],"plot":[1,10,14,17,18,21,22,23,24,27,29,32,34,35,37,42,43],"plot_bar":[1,24,37,43],"plot_data":32,"plot_histogram":[1,24,27,34,37,40,43],"plot_seri":[1,24,34,35,37,40,43],"plot_typ":[1,24],"plotfil":[10,36],"plotlyconfigtyp":10,"plotlylayouttyp":14,"plugin":42,"plus":[3,24],"point":[1,4,9,22,24,25,34,38,43],"point_fram":[16,18,22,32],"point_frame_mod":[18,22,32],"popul":[3,24],"popular":[1,2],"portfolio":[2,6,9,16,18,19,30,31,35,39],"portfolio_analysi":38,"portfolio_asset":39,"portfolio_df":[27,31,32,38,39,40,43],"portfolio_impact":39,"portfolio_metr":38,"portfolio_optimization_result":32,"portfolio_return":39,"portfolio_returns_df":38,"portfolio_rolling_vol":38,"portfolio_seri":33,"portfolio_sharp":39,"portfolio_stress_return":38,"portfolio_twr":33,"portfolio_vol":39,"portfolio_volatil":39,"portfolio_vs_market":38,"portfolionam":[6,22],"portfoliotool":[22,39],"posit":[1,2,3,4,24,33,37,39,43],"positive_shar":[1,2,3,24,26,37,39,43],"positive_share_func":[1,24],"positivefloat":[4,25],"positiveint":[4,25],"possibl":[6,9,19,22,26,29],"post":27,"potenti":[32,38],"powel":26,"pr":29,"practic":[1,2,32,35],"pre":[29,42],"predict":[1,2],"prefer":[26,40],"prepar":[16,22,32],"prepare_plot_data":[22,32],"preserv":40,"preview":36,"previous":[0,12],"price":[1,2,3,5,24,26,27,29,32,34,36,37,40,42,43],"primarili":26,"principl":40,"print":[27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"prioriti":[3,24],"privat":21,"probabl":[1,4,24,25,26],"problem":42,"process":[1,4,9,19,22,25,32],"produc":32,"profession":32,"program":29,"project":[26,29],"proper":[10,29,36],"properti":[2,3,4,21,25,26,31,34,35,38,39,43],"propertiesinputvalidationerror":26,"propertieslist":26,"provid":[0,1,3,7,21,22,23,24,25,26,27,29,32,33,35,36,37,38,39,40,43],"proxi":[31,36],"ps1":[29,42],"public":[29,32],"publish":29,"purpos":25,"push":29,"pvalu":[3,24],"px":36,"py":29,"pydant":[1,2,3,4,21,24,25,26,35,40,42,43],"pydantic_cor":[3,4],"pylanc":29,"pypi":[28,29],"pyproject":29,"pytest":[29,42],"python":[29,42],"q":[3,24],"qqq":39,"qualiti":[29,35,39,42],"quantil":[1,24,31,38,39],"quantiti":33,"quarter":[23,33,38,40,41],"queri":23,"question":29,"quick":42,"r":[1,2,29,36],"r_squar":36,"rais":[0,1,2,3,4,7,13,24,26,29,32,41],"raise_for_status":32,"random":[4,9,19,22,25,32,38],"rang":[0,1,3,6,9,11,13,22,24,26,29,31,32,34,36,37,38,39,40,43],"rank":[32,35],"rate":[1,3,24,29,36,39],"rather":[33,40],"ratio":[1,2,5,18,22,23,24,26,27,29,31,32,33,34,35,37,38,39,40,43],"ratioinputerror":26,"raw":[1,24],"raw_dat":[0,8],"reach":29,"read_csv":41,"readabl":31,"real":[35,37,43],"real_asset":33,"real_portfolio":33,"real_univers":33,"realist":[25,33,38],"realized_mean_return":[4,25],"realized_vol":[4,25],"rebalanc":[1,2,35],"rebalanced_portfolio":[1,2,33,38],"rebalancing_day":38,"rebas":40,"recent":39,"recent_outli":41,"recent_return":39,"recent_vol":40,"recommend":[29,32],"red":[1,24],"reduc":41,"reduct":31,"refer":[1,2,3,24,43],"reflect":40,"regress":[1,2,35],"regression_result":36,"reindex":[1,24],"reit":38,"relat":[1,2,5,23,24,26,33],"releas":42,"relev":29,"reliabl":32,"relrtrn":[5,26],"remain":[1,2,29,32],"rememb":35,"remot":14,"remov":[1,24],"render":[10,23],"replac":41,"report":[17,35,36],"report_html":[23,30],"repositori":[28,29],"repres":[1,2,6,22,24,26,40],"represent":26,"reproduc":[29,39,42],"request":[27,32,42],"requests_get":32,"requir":[1,2,3,4,10,24,25,26,29,35,40],"resampl":[1,2,3,24,34,37,43],"resample_to_business_period_end":[1,2,3,24,26,34,37,40,41,43],"resampledatalosserror":[3,24,26],"resiz":[10,36],"respect":[1,24,29],"respons":[1,10,14,17,24,30,32,35,36],"restor":[37,39],"result":[4,18,19,22,24,25,26,33,35,36,38,39,40],"ret":[29,31,32,33,38,39],"ret_pct":31,"ret_vol_ratio":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,43],"ret_vol_ratio_func":[1,24],"return":[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,25,26,29,32,33,34,35,36,38,39,42,43],"return_diff":33,"return_nan_handl":[1,24,41],"return_v":39,"returns_data":39,"returns_seri":[27,39],"returnseri":[1,2],"returnsimul":[33,35,40,42,43],"reusabl":26,"revalidate_inst":[1,2,3,4,24,25],"revers":[31,32,38],"review":42,"risk":[2,3,9,21,22,23,24,29,35,43],"risk_adj_metr":39,"risk_analysis_report":39,"risk_decomp":39,"risk_free_r":29,"risk_limit":39,"risk_parity_portfolio":38,"risk_report":39,"risk_seri":43,"riskfre":[1,2,24],"riskfree_r":[1,2,24],"robust":[32,35,39],"roll":[2,5,24,26,27,31,35,40,43],"rollbeta":[5,26],"rollcorr":[5,26],"rollcvar":[5,26],"rollinforatio":[5,26],"rolling_beta":[1,2,36],"rolling_corr":[1,2,27,31,36,38,40],"rolling_cvar":39,"rolling_cvar_down":[1,24,39],"rolling_info_ratio":[1,2],"rolling_metr":40,"rolling_ret":[40,43],"rolling_return":[1,24,27,34,37,40,43],"rolling_risk":43,"rolling_var":[34,39],"rolling_var_down":[1,24,27,34,39],"rolling_vol":[1,24,27,34,37,38,39,40,43],"rollrtrn":[5,26],"rollvar":[5,26],"rollvol":[5,26,40],"root":[1,24],"rough":33,"round":[31,32,38,39],"row":[36,41],"rsquar":[1,2],"rtrn":[1,2,3,5,24,26,33,40,42,43],"ruff":[29,42],"ruffen":29,"rug":[1,24],"run":[26,32,42,43],"runner":42,"running_adjust":[3,24],"runtim":[26,42],"russel":43,"rut":[36,43],"s":[0,1,2,3,4,8,11,12,13,15,21,23,24,25,26,30,31,32,33,34,35,36,37,38,39,40,42,43],"safeti":[21,35,43],"sampl":[1,2,3,24,30,36,40,41,42],"save":[1,18,22,23,24,30,36,37,39,40,43],"scalar":27,"scale":[1,2,3,24,39],"scatter":[1,10,18,22,24,36],"scenario":[32,41,43],"scenario_nam":39,"scientif":42,"scikit":[1,2,42],"scipi":[6,9,22,42],"score":[1,24,37,39],"screen":[1,23,24,36],"script":42,"se":[0,3,4,8,11,12,13,15,24,25,32,33,43],"se0011337195":32,"se0011670843":32,"se0015243886":32,"se0017832280":32,"se0017832330":32,"search":35,"second":[1,2,29],"second_column":[1,2],"secondary_i":36,"section":[23,27,30,32,40],"sector":35,"see":26,"seed":[4,9,19,22,25,32,33,38,39,40,42,43],"sek":[3,24],"select":[1,2],"self":[1,2,3,4,24,25,26,27,29,40],"sell":33,"selloff":39,"semant":29,"separ":[1,23,24,33],"sequenc":26,"sequenti":27,"seri":[1,2,3,4,6,20,21,22,24,25,26,29,30,32,33,35,36,37,38,39,42,43],"series1":[41,43],"series2":[41,43],"series3":43,"series_copi":40,"series_datafram":41,"series_list":[30,31,32,38,39,41,43],"series_typ":33,"series_valu":41,"series_with_nan":41,"seriesim":33,"seriesorfloat_co":[1,24,26],"serv":26,"set":[0,1,2,3,10,15,24,26,27,29,32,33,34,35,36,40,42,43],"set_index":41,"set_new_label":[3,24,27,30,31,32,33,34,35,36,37,38,39,40,41,43],"settl":33,"settlement":33,"setup":35,"sever":[29,32,36,40],"share":[1,21,24,39],"sharp":[1,18,22,23,24,29,31,32,33,34,35,37,38,39,43],"sharpe_ratio":[31,32,37,38],"sharpeplot":[16,22,32],"sharperatio":[1,24],"sheet":[1,24,31,32,41],"sheet_nam":39,"sheet_titl":[1,24,41],"shock":39,"short_column":[1,2],"shorter":23,"shortest":[1,2,3,24],"shortfal":[37,39,40],"shorthand":[1,24],"show":[23,29,30,31,32,33,39],"show_last":[1,24],"show_rug":[1,24],"side":23,"signific":37,"silicon":42,"sim_cvar_95":39,"sim_fram":[18,22,32],"sim_return":32,"sim_sharpe_ratio":[32,38],"sim_var_95":39,"sim_volatil":32,"simfram":[19,22,27,32,38,39],"similar":40,"simpl":[1,23,24,29,33,35,36,40,41],"simpli":[1,2],"simplifi":[1,2,3,24,39],"simul":[4,6,9,18,19,35,40,42,43],"simulate_portfolio":[18,22,27,32,38,39],"simulated_df":[27,32,38],"simulated_portfolio":[32,39],"simulation_result":[27,32,38],"simultan":31,"sinc":[3,24],"singl":[1,21,24,35,37,39,41,43],"single_seri":41,"size":[1,4,23,24,25,29,36],"skew":[1,2,3,24,26,34,37,39,43],"skew_func":[1,24],"skip":36,"slsqp":[6,9,22,26],"small":36,"smaller":23,"smallest":[1,24],"social":31,"sold":[1,2],"solid":43,"sophist":[36,38,40],"sort":[31,32,38,39],"sort_valu":31,"sorted_indic":[32,38],"sorted_return":39,"sorted_sharp":31,"sorted_strategi":32,"sortino":[1,23,24,34,37,39,40,43],"sortino_ratio":[1,2,3,24,26,34,37,39,40,43],"sortino_ratio_func":[1,24],"sortinoratio":[1,24],"sought":[1,3,24],"sourc":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,29,35],"sp500":[37,43],"sp500_analysi":[37,43],"sp500_data":43,"sp500_metric":37,"span":[1,2,41],"span_of_day":[1,3,24,26,41],"span_of_days_al":[1,2,26],"sparser":[3,24],"spdr":39,"spec":36,"specif":[2,3,24,29,35,40,41,43],"specifi":[1,2,3,24,27,38,40],"specific_metr":27,"spi":[30,33,39],"split":33,"spreadsheet":[1,24],"squar":[1,2,3,24,36],"stabl":32,"stack":[23,26],"standalon":10,"standard":[1,2,4,18,22,23,24,25,37,40],"start":[0,1,4,11,15,24,25,26,33,38,39,40,41],"start_cut":[1,2],"startyear":[0,13],"state":40,"static":[26,29,42],"statist":[3,24,25,32,33,38,40,43],"stay":28,"std":[1,24,36],"std_dev":29,"stdev":[1,24,32,38,39],"step":[29,35],"stock":[31,32,33,34,36,41],"stock_comparison_report":30,"stock_data":[36,41],"stock_vs_market":36,"store":26,"str":[0,1,2,3,4,6,8,10,11,12,13,15,17,18,22,23,24,25,26],"strategi":[1,2,27,35,40,43],"strategy_fram":33,"strategy_metr":33,"strategy_nam":[32,38],"strenum":[5,26],"stress":35,"stress_dat":38,"stress_return":31,"strftime":[37,39],"strict":[1,2,3,4,24,25,26,29,33,41],"string":[0,1,2,3,10,13,23,24,26,40,41],"stringconstraint":[3,24,26],"strip_whitespac":[3,24,26],"strorbytessequ":26,"strsequenc":26,"structur":[21,32,38,41],"stub":[1,2,3,24],"style":[1,24,35,36],"subclass":[20,24],"subplot":36,"subplot_titl":36,"subset":35,"subset_portfolio":33,"subtract":[3,24],"subtyp":26,"success":38,"sum":[29,31,33,38,39],"summari":[1,2,35,36,39],"summat":[3,24],"suppli":[1,2],"support":[0,1,3,4,7,8,10,11,12,13,15,24,25,29,31,32],"sure":42,"swedish":43,"switch":23,"sync":29,"syntax":26,"synthet":41,"system":[21,35,39],"t":[1,2,24,26,27,36,40],"tabl":[17,23],"tag":23,"tail":[37,39],"take":[1,2,3,24,40],"takeaway":33,"target":[1,24,33],"target_vol":[1,24],"target_weight":33,"target_weight_from_var":[1,24],"tech":[31,39],"tech_fram":41,"tech_stock":31,"tech_tick":31,"techniqu":[32,37,38,39],"technolog":32,"templat":[14,30],"term":[1,2,24,33],"tesla":[31,39],"test":[1,2,3,24,25,33,35,42],"test_calculate_return":29,"test_fram":29,"test_from_arrays_bas":29,"test_from_arrays_invalid_d":29,"test_funct":29,"test_portfoliotool":29,"test_seri":29,"test_specif":29,"testopentimeseri":29,"text":[18,22,26,32],"thank":29,"theoret":[32,35,38],"theoretical_portfolio":[33,38],"theoretical_portfolio_df":[33,38],"theoretical_seri":33,"thereof":[20,24],"threshold":[1,24,31,38,39,41],"threshold_idx":31,"throughout":26,"tick":[1,24],"tick_fmt":[1,24],"ticker":[30,31,32,33,34,35,36,37,38,39,41,43],"ticker_symbol":[34,41],"tidi":27,"time":[1,2,4,21,23,24,25,26,33,35,37,38,39,40,42,43],"timedelta":39,"timeout":32,"timeseri":[1,2,3,4,6,20,22,24,25,26,43],"timeseries_chain":24,"timeseries_id":[3,24],"timestamp":[26,29],"titl":[1,10,17,18,22,23,24,30,32,36,41],"title_text":36,"titletext":[18,22],"tlt":[33,36,39],"tnc":26,"tnx":37,"to_csv":34,"to_cumret":[1,2,3,24,32,33,40,41,42,43],"to_dat":[1,2,3,24],"to_datafram":[4,25,33,40,42,43],"to_drawdown_seri":[1,24,34,37,40,43],"to_dt":[1,24],"to_excel":[31,32,37,38,39],"to_json":[1,24,34,40,41,43],"to_low":[3,24,26],"to_upp":[3,24,26],"to_xlsx":[1,24,31,32,34,37,39,40,41,43],"today":[0,12],"togeth":[20,24],"toler":29,"tolist":[32,37],"toml":29,"tool":[29,35,38,42],"top":[32,38],"top_indic":38,"top_sharpe_indic":32,"total":[1,4,5,24,25,26,32,33,34,37,38,39,40,43],"total_return":37,"total_trad":33,"touch":23,"toward":29,"trace":[1,24,36],"track":[1,2,23,28,33],"tracking_error":40,"tracking_error_func":[1,2,40],"trackingerror":[1,2],"trade":[4,25,26,33,38,41,42,43],"trading_day":[0,4,11,25,33,38,40,42,43],"trading_days_in_year":[4,25,40,42,43],"tradingdaysnotabovezeroerror":26,"transact":[35,38],"transaction_data":33,"transaction_seri":33,"transform":35,"treasuri":[33,37,39],"treat":[1,2],"tri":42,"troubleshoot":35,"true":[0,1,2,3,4,8,9,10,14,17,18,22,23,24,25,26,29,31,32,33,36,38,41],"trunc_fram":[1,2,32,40,43],"truncat":[1,2,40],"trust":[26,39],"tsdf":[1,2,3,24,26,31,33,38,39,40,41,43],"tsla":[31,34,39,41],"tupl":[1,2,3,6,9,14,17,18,22,23,24,26,27],"turn":21,"tutori":[29,36,37,38,39,43],"tweak":[9,22],"two":[1,2,20,21,24,27,31,35,40],"twr":[1,2,33],"type":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,35,36,42,43],"typealia":26,"typecheck":29,"typeerror":[0,3,7,24],"typeopentimeseri":[20,24],"typevar":26,"typo":29,"tzdata":42,"unavail":[14,31,32,33,36,38,39],"unclear":29,"underlying":[26,39],"understand":[27,35,37,38,40],"union":26,"uniqu":[23,26],"unit":[1,24,31,37],"univers":[31,32,33,38],"unlik":33,"unnecessari":27,"unpack":27,"untouch":40,"unusu":[37,39],"updat":[28,29,36],"update_layout":[32,36],"url":[10,32],"us":[33,38,40,41,43],"usag":43,"use":[1,2,3,4,10,16,18,21,22,23,24,25,26,27,29,31,33,34,35,37,38,39,40,41,43],"user":[1,3,24,26,40],"usual":40,"utf":30,"util":[1,2,35],"uv":[29,42],"v":[1,24],"valid":[0,3,4,15,21,35,42,43],"valid_d":41,"valid_valu":41,"validate_assign":[1,2,3,4,24,25],"validationerror":[3,4,41],"valu":[0,1,2,3,4,5,15,24,25,29,31,32,34,35,36,37,43],"valuabl":33,"value_list":40,"value_nan_handl":[1,24,32,40,41,43],"value_ret":[1,2,3,24,26,33,34,37,38,39,43],"value_ret_calendar_period":[1,24,34,37],"value_ret_func":[1,24],"value_to_diff":[1,2,3,24,41],"value_to_log":[1,24,34,40,41,43],"value_to_ret":[1,2,3,24,27,29,31,34,37,38,39,40,41,43],"valueerror":[1,2,24,29],"valuelisttyp":[3,24,26],"values_with_nan":41,"valuetyp":[1,2,3,24,26,32,33,40,42,43],"var":[1,3,5,24,26,27,34,35,37,38,40,43],"var_90":37,"var_95":[37,40,43],"var_99":37,"var_daili":39,"var_down":[1,2,3,24,26,34,37,38,39,40,43],"var_down_func":[1,24,37,39],"var_seri":27,"var_valu":39,"variabl":[1,2,26,36],"varianc":[1,2,3,24,26,35],"various":[24,29,32,36,37,38,41,43],"vde":32,"ve":43,"vea":32,"venv":[29,42],"verifi":[35,39],"version":[23,28,29,42],"vertic":23,"vertical_legend":[17,23],"vgt":32,"vht":32,"via":[1,3,24,26],"view":[1,23,24,33],"viewport":[10,36],"virtual":42,"visit":28,"visual":[29,32,35,36,40,42],"vnq":[32,38],"vol":[1,2,3,24,26,27,31,32,33,34,35,37,38,39,40,43],"vol_dat":37,"vol_diff":33,"vol_from_var":[1,2,3,24,26,37],"vol_from_var_func":[1,24],"vol_func":[1,24,40],"vol_pct":31,"vol_seri":37,"vol_valu":37,"volatil":[1,2,3,4,5,16,22,23,24,25,26,27,31,33,34,35,36,37,39,40,43],"volum":[36,41],"volume12":[1,2],"vs":[29,31,35],"vscode":29,"vti":32,"vwo":32,"w":[30,31,39,40,41],"want":42,"warn":39,"watch":28,"way":[26,27,41,42],"web":[23,36],"week":[33,39],"weight":[1,2,3,16,19,22,24,26,27,31,35,39,40,43],"weight_strat":[1,2,27,31,32,33,38,39,40,43],"weighted_avg_return":31,"weighted_avg_vol":31,"weighted_return":38,"welcom":29,"well":[26,36],"what_output":[1,24,41,43],"whether":[1,10,14,18,22,24],"width":[1,23,24,32],"wiki":[1,24],"wikipedia":[1,24],"will":[1,2,3,23,24,27,29,37,40,41,43],"window":[1,2,10,18,22,24,27,29,34,36,39],"winter":[1,2],"within":39,"without":[1,24,27,42],"work":[27,29,32,35,36,40,42],"workflow":[35,36],"working_data":40,"workspacefold":29,"world":[35,43],"worst":[1,2,3,23,24,26,31,34,37,38,39],"worst_1_perc":39,"worst_5_day":39,"worst_5_perc":39,"worst_day":[31,37,38],"worst_days_threshold":38,"worst_func":[1,24],"worst_idx":39,"worst_month":[1,2,3,24,26,37,39],"worst_threshold":31,"worst_year_dd":37,"write":30,"writer":39,"written":[1,24],"wrong":[27,41],"www":[1,2,3,24],"x":[1,2,10,24,31,32,36],"x_column":[1,2],"x_fmt":[1,24],"xbins_siz":[1,24],"xdist":42,"xlsx":[1,24,31,32,34,37,38,39,40,41,43],"y":[1,2,10,24,36,37,39],"y_column":[1,2],"y_fmt":[1,24],"yahoo":42,"year":[0,1,2,3,13,23,24,31,34,36,38,39,40],"year_return":[34,37],"yearfrac":[1,3,24,26,37],"yf":[30,31,32,33,34,35,36,37,38,39,41,43],"yfinanc":[30,31,32,33,34,35,36,37,38,39,41,42,43],"yield":[32,37],"yourusernam":29,"yyyi":[3,24],"z":[1,3,24,26,37,39,41],"z_score":[1,2,3,24,26,37,39],"z_score_func":[1,24],"zero":[0,1,2,3,11,15,24,26,38],"zip":[30,31,33,38,39,43],"zone":42,"zscore":[1,24]},"titles":["Date Utilities","OpenFrame","openseries.OpenFrame","openseries.OpenTimeSeries","openseries.ReturnSimulation","openseries.ValueType","openseries.constrain_optimized_portfolios","openseries.date_fix","openseries.date_offset_foll","openseries.efficient_frontier","openseries.export_plotly_figure","openseries.generate_calendar_date_range","openseries.get_previous_business_day_before_today","openseries.holiday_calendar","openseries.load_plotly_dict","openseries.offset_business_days","openseries.prepare_plot_data","openseries.report_html","openseries.sharpeplot","openseries.simulate_portfolios","openseries.timeseries_chain","openseries package","Portfolio Tools","Report Generation","OpenTimeSeries","Simulation","Types and Enums","API Consistency Notes","Changelog","Contributing to openseries","Reporting","Multi-Asset Analysis","Portfolio Optimization","Rebalanced Portfolio Simulation","Single Asset Analysis","openseries Documentation","Advanced Features","Basic Financial Analysis","Portfolio Analysis","Risk Management","Core Concepts","Data Handling","Installation","Quick Start Guide"],"titleterms":{"All":43,"Do":27,"From":41,"Other":21,"The":40,"Up":[31,37,38,39],"Your":43,"__format__":27,"add":41,"adjust":[37,39],"advanc":[32,36,37,38],"alias":26,"align":[40,41],"analysi":[1,24,31,32,33,34,36,37,38,39,40,43],"annual":[37,40],"api":[27,35],"applic":33,"architectur":40,"array":41,"asset":[31,34,38,41,43],"attribut":[31,33,38],"backtest":32,"base":32,"basic":[32,33,34,37,39,43],"benchmark":37,"benefit":36,"best":[27,33,40],"bug":29,"build":29,"built":30,"busi":[40,41,43],"calcul":40,"calendar":[34,37,40],"callabl":27,"carlo":[32,38,39],"cash":33,"categori":40,"chain":27,"changelog":28,"check":[40,41],"class":[1,21,24,25,26,40],"code":29,"commit":29,"common":[1,24,27,42,43],"communiti":29,"compar":31,"comparison":[32,37,38],"complet":[31,32,34],"comprehens":37,"concept":[40,43],"conda":42,"condit":39,"consider":41,"consist":[27,40,41],"constrain_optimized_portfolio":6,"constraint":22,"construct":[1,24,38,40],"content":35,"contribut":29,"control":39,"convers":41,"core":[40,42],"correl":[1,31,38],"cost":33,"coverag":29,"creat":[36,41,43],"creation":27,"csv":41,"custom":[26,33,36,38],"cvar":39,"daili":33,"dashboard":39,"data":[1,24,32,38,40,41,43],"datafram":[27,41],"date":[0,21,40,41,42],"date_fix":7,"date_offset_fol":8,"day":[40,41,43],"debug":29,"decomposit":39,"depend":42,"design":23,"detail":[32,33],"detect":41,"develop":[29,35,42],"differ":[33,41],"distribut":37,"diversif":[32,38],"docstr":29,"document":[29,35],"drawdown":37,"drop":41,"effici":[38,41],"efficient_fronti":9,"embed":30,"enum":[21,26],"environ":29,"equal":[32,33,38],"error":38,"exampl":[33,35],"excel":41,"except":26,"exist":30,"export":[1,24,31,32,34,36,39,40,41,43],"export_plotly_figur":[10,36],"express":36,"extern":43,"factor":36,"featur":[29,35,36],"figur":36,"file":42,"financ":41,"financi":[1,24,37,40,42,43],"first":43,"fix":41,"format":[27,41],"frame":1,"framework":32,"frequenc":33,"frontier":38,"function":[0,21,23,24,27],"fund":32,"generat":23,"generate_calendar_date_rang":11,"get":[29,42,43],"get_previous_business_day_before_today":12,"github":28,"guid":[35,43],"guidelin":29,"handl":[0,38,40,41],"help":[29,42],"hint":29,"histor":39,"holiday_calendar":13,"html":[23,30,36],"ide":29,"immut":40,"import":[27,35,41],"indic":35,"inlin":36,"instal":42,"integr":41,"interpret":37,"invers":32,"issu":[27,42],"json":41,"key":[35,43],"layer":40,"length":41,"limit":39,"linux":42,"liter":26,"load":[40,41,43],"load_plotly_dict":14,"maco":42,"main":21,"manag":[1,33,39,40],"manipul":[1,24],"maximum":[32,38],"mean":32,"memori":[40,41],"messag":29,"method":[1,24,27,40,41],"metric":[1,24,27,37,39,40,43],"minimum":[32,38],"miss":41,"model":36,"monitor":39,"mont":[32,38,39],"month":37,"multi":[31,36],"multipl":[40,41,43],"mutat":40,"name":27,"nan":41,"network":42,"next":43,"non":24,"note":[27,35,42],"notif":28,"numer":24,"object":27,"offset_business_day":15,"onc":43,"openfram":[1,2,40,41,43],"openseri":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,29,35,42],"opentimeseri":[3,24,40,43],"optim":[22,32,38],"option":42,"outlier":41,"output":36,"overview":40,"overweight":[32,38],"packag":21,"page":30,"panda":41,"paramet":27,"pariti":38,"pass":27,"pattern":43,"perform":[31,32,33,34,37,38,39,41],"pip":42,"platform":42,"plot":36,"portfolio":[1,21,22,27,32,33,38,40,43],"practic":[27,33,40],"prepare_plot_data":16,"price":41,"process":29,"properti":[1,24,27,40],"pull":29,"python":35,"qualiti":41,"quick":[35,43],"rang":41,"rank":31,"rate":41,"real":[32,33,41],"rebalanc":[33,38],"recommend":42,"refer":35,"regress":36,"releas":[28,29],"rememb":43,"remov":41,"report":[23,29,30,37,38,39],"report_html":17,"request":29,"requir":42,"resampl":[40,41],"resample_to_business_period_end":27,"respons":23,"result":[31,32,34,43],"return":[1,23,24,27,31,37,40,41],"returnsimul":[4,25],"review":29,"risk":[1,31,32,34,37,38,39,40],"roll":[1,34,36,37,38,39],"run":[27,29],"safeti":40,"scenario":39,"sector":31,"seri":[27,31,34,40,41],"set":[31,37,38,39],"setup":[29,32,33,34],"sharpeplot":18,"simpl":38,"simul":[21,22,25,32,33,38,39],"simulate_portfolio":19,"singl":34,"solut":27,"sourc":[41,42,43],"specif":[1,27,42],"standard":29,"start":[29,35,43],"statist":1,"step":43,"strategi":[32,33,38,41],"stress":[31,38,39],"string":27,"structur":29,"style":[29,31],"subset":33,"summari":[33,37,38],"support":[35,42],"system":42,"tabl":35,"test":[29,31,38,39],"theoret":33,"time":[31,34],"timeseries_chain":20,"tool":[21,22],"transact":33,"transform":[1,24,34,40,41,43],"troubleshoot":42,"tutori":35,"type":[21,26,29,40],"typeerror":27,"understand":33,"unsupport":27,"usag":41,"use":[30,32,36,42],"user":35,"util":[0,21,24,42],"valid":[26,40,41],"valu":[23,26,27,39,40,41],"valuetyp":[5,27],"var":39,"varianc":32,"verifi":42,"version":35,"visual":[1,22,24,34,37,43],"volatil":[32,38],"vs":[27,33,40],"weight":[32,33,38],"window":42,"work":[41,43],"workflow":[29,31,32,34,40],"world":[32,33],"write":29,"yahoo":41,"year":37}})
    \ No newline at end of file
    diff --git a/docs/build/html/tutorials/advanced_features.html b/docs/build/html/tutorials/advanced_features.html
    index d2a184da..d33e80cb 100644
    --- a/docs/build/html/tutorials/advanced_features.html
    +++ b/docs/build/html/tutorials/advanced_features.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Advanced Features — openseries 2.1.9 documentation
    +  Advanced Features — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/tutorials/basic_analysis.html b/docs/build/html/tutorials/basic_analysis.html
    index 916f9ae9..a72f4890 100644
    --- a/docs/build/html/tutorials/basic_analysis.html
    +++ b/docs/build/html/tutorials/basic_analysis.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Basic Financial Analysis — openseries 2.1.9 documentation
    +  Basic Financial Analysis — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/tutorials/portfolio_analysis.html b/docs/build/html/tutorials/portfolio_analysis.html
    index 5fd7ee4d..5c918467 100644
    --- a/docs/build/html/tutorials/portfolio_analysis.html
    +++ b/docs/build/html/tutorials/portfolio_analysis.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Portfolio Analysis — openseries 2.1.9 documentation
    +  Portfolio Analysis — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/tutorials/risk_management.html b/docs/build/html/tutorials/risk_management.html
    index 4d977a15..a7bbefa0 100644
    --- a/docs/build/html/tutorials/risk_management.html
    +++ b/docs/build/html/tutorials/risk_management.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Risk Management — openseries 2.1.9 documentation
    +  Risk Management — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/user_guide/core_concepts.html b/docs/build/html/user_guide/core_concepts.html
    index 3f8d87dc..79fa5078 100644
    --- a/docs/build/html/user_guide/core_concepts.html
    +++ b/docs/build/html/user_guide/core_concepts.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Core Concepts — openseries 2.1.9 documentation
    +  Core Concepts — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/user_guide/data_handling.html b/docs/build/html/user_guide/data_handling.html
    index 0d3225c2..6533cfa3 100644
    --- a/docs/build/html/user_guide/data_handling.html
    +++ b/docs/build/html/user_guide/data_handling.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Data Handling — openseries 2.1.9 documentation
    +  Data Handling — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    diff --git a/docs/build/html/user_guide/installation.html b/docs/build/html/user_guide/installation.html
    index 2a45baed..0b50d7a4 100644
    --- a/docs/build/html/user_guide/installation.html
    +++ b/docs/build/html/user_guide/installation.html
    @@ -6,7 +6,7 @@
       
     
       
    -  Installation — openseries 2.1.9 documentation
    +  Installation — openseries 2.1.10 documentation
           
           
           
    @@ -14,7 +14,7 @@
       
           
           
    -      
    +      
           
           
         
    @@ -181,27 +181,28 @@ 

    Dependencies

    Core Dependencies

      -
    • pandas (>=2.1.2,<3.0.0) - Data manipulation and analysis

    • -
    • numpy (>=1.23.2,!=2.3.0,<3.0.0) - Numerical computing

    • -
    • pydantic (>=2.5.2,<3.0.0) - Data validation and settings management

    • +
    • pandas (>=2.1.2) - Data manipulation and analysis

    • +
    • numpy (>=1.23.2) - Numerical computing

    • +
    • pydantic (>=2.5.2) - Data validation and settings management

    • plotly (>=5.18.0) - Interactive plotting

    • -
    • scipy (>=1.11.4,<2.0.0) - Scientific computing

    • -
    • scikit-learn (>=1.4.0,<2.0.0) - Machine learning utilities

    • +
    • scipy (>=1.14.1) - Scientific computing

    • +
    • scikit-learn (>=1.4.0) - Machine learning utilities

    Financial and Date Utilities

      -
    • exchange-calendars (>=4.8,<6.0) - Trading calendar support

    • -
    • holidays (>=0.30,<1.0) - Holiday calendar support

    • -
    • python-dateutil (>=2.8.2,<4.0.0) - Date parsing utilities

    • +
    • exchange-calendars (>=4.8) - Trading calendar support

    • +
    • holidays (>=0.30) - Holiday calendar support

    • +
    • python-dateutil (>=2.8.2) - Date parsing utilities

    • +
    • tzdata (>=2025.3) - IANA time zone data

    File and Network Support

      -
    • openpyxl (>=3.1.2,<5.0.0) - Excel file support

    • -
    • requests (>=2.20.0,<3.0.0) - HTTP library

    • +
    • openpyxl (>=3.1.2) - Excel file support

    • +
    • requests (>=2.20.0) - HTTP library

    @@ -246,25 +247,24 @@

    Verifying Installation

    Development Installation

    -

    If you plan to contribute to openseries or need the development dependencies:

    +

    If you plan to contribute to openseries or need the development dependencies, +use the same pinned tooling as CI (uv==0.11.21):

    git clone https://github.com/CaptorAB/openseries.git
     cd openseries
    -
    -# Install uv (if not already installed)
    -pip install uv
    -
    -# Create a virtual environment and install dependencies
    -uv venv venv
    -source venv/bin/activate
    -uv pip install -e ".[dev]"
    +make install
     
    -

    This will install additional development dependencies including:

    +

    On Windows, run .\make.ps1 make instead of make install.

    +

    This creates venv, installs locked runtime, development, and documentation +dependencies from uv.lock, and installs pre-commit hooks. Development +dependencies include:

      -
    • pytest - Testing framework

    • -
    • mypy - Static type checking

    • -
    • ruff - Linting and formatting

    • -
    • pre-commit - Git hooks for code quality

    • +
    • pytest (>=9.1.0) - Testing framework

    • +
    • pytest-cov (>=7.1.0) - Coverage plugin

    • +
    • pytest-xdist (>=3.8.0) - Parallel test runner

    • +
    • mypy (==2.1.0) - Static type checking

    • +
    • ruff (==0.15.18) - Linting and formatting

    • +
    • pre-commit (>=4.6.0) - Git hooks for code quality

    diff --git a/docs/build/html/user_guide/quickstart.html b/docs/build/html/user_guide/quickstart.html index abf3c0f1..1d2071ef 100644 --- a/docs/build/html/user_guide/quickstart.html +++ b/docs/build/html/user_guide/quickstart.html @@ -6,7 +6,7 @@ - Quick Start Guide — openseries 2.1.9 documentation + Quick Start Guide — openseries 2.1.10 documentation @@ -14,7 +14,7 @@ - +