# July 8, 2024 - Version 1.5.0

Please update PrismStudio via

```python
pip install prismstudio --upgrade
```

or

```python
pip install prismstudio==1.5.0
```


If you prefer to use Anaconda, please install PrismStudio using command below

```bash
conda config --add channels conda-forge
conda install -c prism39 prismstudio
```


---

## Change Log

- Python Package Import name change<br>```prism``` → ```prismstudio```

- Most columns corresponding to data values are returned with the name ```value```. <br> Data with multiple values may be exceptions (e.g., news - headline, content).

- Added ```get_data(name)```<br> Allows setting the names of the value columns for the extracted data.

- Added reference data <br> Provides data on holidays, weekends, and trading hours (```ps.reference.holiday```, ```ps.reference.weekend```, ```ps.reference.tradinghour```). <br> Additional reference data will be added in the future.

- Business Frequency Available in Backtest and Screen
<br>```screen(rule, frequency, weekend='Sat-Sun', holiday_country=None)```
<br>
<br> ```factor_backtest(factor, universe, frequency, bins, startdate=None, enddate=None, weekend='Sat-Sun', holiday_country=None,  max_days=None, rank_method='standard')```

- Changes to Price Components: adjustment parameter update
<br> ```ps.market.close(adjustment=['all', 'split', 'dividend'])``` → ```ps.market.close(adjustment=[True, False])```

- Added Total Return Index
<br> ```ps.market.totalreturnindex```

- Industry components consolidation
<br>```prismstudio.industry.X``` → ```prismstudio.financial.industry```

- Change to Financial Component Input Argument
<br> Parameter name change: ```periodtype``` → ```period_type```
<br> Added ```period_back``` parameter (default value 0)

- Added Segment Classification Parameter for ```prism.financial.segment```
<br> This option adds industry classification data for the respective segment.
<br> For S&P CIQ Financial, 'SIC' and 'NAICS' are supported, while LSEG Financial only supports 'NAICS'.

- Changes to Financial Component Results
<br> Renamed result column: ```periodenddate``` → ```period_enddate```
<br> Added ```fiscal_period``` and ```calendar_period``` columns: provides periods corresponding to the period_back.
<br> <br> For given ```period_type``` fiscal and calendar period results will be in following formats:
<br> Annual: 2023
<br> Semi-Annual: 2022H1
<br> Quarterly, LTM: 2021Q4

- Removed Financial Functions n_fiscal_quarters: These functions have been replaced by the new period_back argument and can be calculated using the basic functions.
<br> ```income_statement().n_fiscal_quarters_pct_change(n=4)```
→  ```(income_statement(period_back=0) - income_statement period_back=4) / income_statement(period_back=4)```

- Changes to Estimate Component Input Arguments
 <br> Renamed ```periodtype``` → ```period_type```
 <br> Renamed ```periodout``` → ```period_forward```

- Added Estimate Industry
<br> The prismstudio.estimate.industry component has been added.

- Renamed ```n_periods``` Functions
<br> ```n_periods``` → ```sample``` (e.g ```n_periods_z_score``` → ```sample_z_score``` )

- Added period Functions
<br> ```period``` = ```'365D'```: Calculate functions using all data within 365 days.
<br> ```period``` = ```'12M'```: Calculate functions using all data within 12 months.
<br> ```periods_count(period='365D')```: Count the number of data points (with daily frequency) within 365 days and return the number.
<br> <br>
Added functions list: ```period_z_score```, ```period_max```, ```period_min```, ```period_mean```, ```period_std```, ```period_var```, ```period_skew```, ```period_median```, ```period_sum```

- Changed lookback Input Format from ```int``` to ```sample_period``` Format
<br> ```lookback``` = ```'12W'```: Look back up to 12 weeks and retrieve the latest data.
<br> **Note:** Resample only supports ```lookback``` for ```period_type``` ```W``` (weeks) and ```D``` (days).

- Changed Risk Model (QIS) Argument
<br> ```period``` → ```data_interval```
<br> Before: <br> Example: Setting period to ```365``` uses Business Daily price data within 365 days to create a Daily Resolution risk model.
<br>
<br> After: <br> Example: Setting data_interval to ```'6M'``` uses Monthly price data within 6 months to create a Monthly Resolution risk model.
<br>
<br> Setting data_interval to ```'12M'``` uses Monthly price data within 12 months to create a Monthly Resolution risk model.
<br>
Setting data_interval to ```'120D'``` uses Daily price data within 120 days to create a Daily Resolution risk model.
<br>
Setting data_interval to ```'4W'``` uses Weekly price data within 4 weeks to create a Weekly Resolution risk model.

- Added LSEG Data packages
<br> LSEG Financials (formerly RKD Financial)
<br> I/B/E/S Estimate

