virgo-modules 0.3.2__tar.gz → 0.3.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of virgo-modules might be problematic. Click here for more details.

Files changed (23) hide show
  1. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/PKG-INFO +1 -1
  2. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/setup.py +1 -1
  3. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/ticketer_source.py +38 -3
  4. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules.egg-info/PKG-INFO +1 -1
  5. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/LICENSE +0 -0
  6. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/README.md +0 -0
  7. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/setup.cfg +0 -0
  8. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/__init__.py +0 -0
  9. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/__init__.py +0 -0
  10. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/aws_utils.py +0 -0
  11. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/backtester.py +0 -0
  12. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/edge_utils/__init__.py +0 -0
  13. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/edge_utils/conformal_utils.py +0 -0
  14. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/edge_utils/edge_utils.py +0 -0
  15. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/edge_utils/shap_utils.py +0 -0
  16. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/hmm_utils.py +0 -0
  17. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/pull_artifacts.py +0 -0
  18. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/re_utils.py +0 -0
  19. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules/src/transformer_utils.py +0 -0
  20. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules.egg-info/SOURCES.txt +0 -0
  21. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules.egg-info/dependency_links.txt +0 -0
  22. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules.egg-info/requires.txt +0 -0
  23. {virgo_modules-0.3.2 → virgo_modules-0.3.5}/virgo_app/virgo_modules.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: virgo_modules
3
- Version: 0.3.2
3
+ Version: 0.3.5
4
4
  Summary: data processing and statistical modeling using stock market data
5
5
  Home-page: https://github.com/miguelmayhem92/virgo_module
6
6
  Author: Miguel Mayhuire
@@ -5,7 +5,7 @@ with open("virgo_app/README.md", "r") as f:
5
5
 
6
6
  setup(
7
7
  name="virgo_modules",
8
- version="0.3.2",
8
+ version="0.3.5",
9
9
  description="data processing and statistical modeling using stock market data",
10
10
  package_dir={"": "virgo_app"},
11
11
  packages=find_packages(where="virgo_app"),
@@ -1400,6 +1400,39 @@ class stock_eda_panel(object):
1400
1400
  if save_features:
1401
1401
  self.signals.append(signal_feature_name)
1402
1402
  self.signals.append(order_feature_name)
1403
+
1404
+ def get_order_feature_nosignal(self,feature_name, save_features=False):
1405
+ """
1406
+ perform a feature that captures number of steps after the end of a signal
1407
+
1408
+ Parameters
1409
+ ----------
1410
+ feature_name (str): name of the feature
1411
+ save_features (boolean): True to save feature configuration and feature names
1412
+
1413
+ Returns
1414
+ -------
1415
+ None
1416
+ """
1417
+ order_feature_name = f'order_signal_{feature_name}'
1418
+ ns_order_feature_name = f'ns_order_{feature_name}'
1419
+ self.df = self.df.sort_values('Date')
1420
+ self.df['lag_'] = self.df[order_feature_name].shift(1)
1421
+ self.df['flag'] = np.where((self.df[order_feature_name] == 0) & (self.df['lag_']!=0),1,np.nan)
1422
+ self.df = self.df.drop(columns=['lag_'])
1423
+ self.df['order_'] = self.df.sort_values('Date').groupby(['flag']).cumcount() + 1
1424
+ self.df['order_'] = self.df['order_'].fillna(method='ffill')
1425
+ self.df['order_'] = np.where(self.df[order_feature_name]==0,self.df['order_'],0)
1426
+ self.df = self.df.drop(columns=['flag'])
1427
+ self.df['order_'] = self.df.sort_values('Date').groupby(['order_']).cumcount() + 1
1428
+ norm_list = [f'norm_{feature_name}', f'z_{feature_name}', feature_name]
1429
+ for norm_feature in norm_list:
1430
+ self.df['order_'] = np.sign(self.df[norm_feature])*self.df['order_']
1431
+ break
1432
+ self.df['order_'] = np.where(self.df[order_feature_name]==0,self.df['order_'],0)
1433
+ self.df = self.df.rename(columns={'order_':ns_order_feature_name})
1434
+ if save_features:
1435
+ self.signals.append(ns_order_feature_name)
1403
1436
 
1404
1437
  def compute_last_signal(self,feature, save_features = False):
1405
1438
  """
@@ -1815,7 +1848,7 @@ class stock_eda_panel(object):
1815
1848
  self.target.append(f'mean_target')
1816
1849
  self.settings_target_lasts = {'steps':steps, 'type':'regression'}
1817
1850
 
1818
- def get_categorical_targets(self, horizon, flor_loss, top_gain):
1851
+ def get_categorical_targets(self, horizon, flor_loss, top_gain, min_pos=1 , min_negs=1):
1819
1852
  """
1820
1853
  produce binary target return taking future prices. it produce two targets, one for high returns and another for low returns
1821
1854
 
@@ -1824,6 +1857,8 @@ class stock_eda_panel(object):
1824
1857
  horizon (int): number of lags and steps for future returns
1825
1858
  flor_loss (float): min loss return
1826
1859
  top_gain (float): max gain return
1860
+ min_pos (int): minimun number of positives to count in a window for target_up
1861
+ min_negs (int): minimun number of negatives to count in a window for target_down
1827
1862
 
1828
1863
  Returns
1829
1864
  -------
@@ -1841,7 +1876,7 @@ class stock_eda_panel(object):
1841
1876
  self.df[f'target_{i}'] = np.where(self.df[f'target_{i}'] >= top_gain,1,0)
1842
1877
  columns.append(f'target_{i}')
1843
1878
  self.df[f'target_up'] = self.df[columns].sum(axis=1)
1844
- self.df[f'target_up'] = np.where(self.df[f'target_up'] >=1,1,0 )
1879
+ self.df[f'target_up'] = np.where(self.df[f'target_up'] >=min_pos,1,0 )
1845
1880
  self.df = self.df.drop(columns = columns)
1846
1881
 
1847
1882
  for i in range(1,horizon+1):
@@ -1851,7 +1886,7 @@ class stock_eda_panel(object):
1851
1886
  self.df[f'target_{i}'] = np.where(self.df[f'target_{i}'] <= flor_loss,1,0)
1852
1887
  columns.append(f'target_{i}')
1853
1888
  self.df[f'target_down'] = self.df[columns].sum(axis=1)
1854
- self.df[f'target_down'] = np.where(self.df[f'target_down'] >= 1,1,0 )
1889
+ self.df[f'target_down'] = np.where(self.df[f'target_down'] >= min_negs,1,0 )
1855
1890
  self.df = self.df.drop(columns = columns)
1856
1891
 
1857
1892
  self.targets.append('target_up')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: virgo-modules
3
- Version: 0.3.2
3
+ Version: 0.3.5
4
4
  Summary: data processing and statistical modeling using stock market data
5
5
  Home-page: https://github.com/miguelmayhem92/virgo_module
6
6
  Author: Miguel Mayhuire
File without changes
File without changes
File without changes