PyQuantimClient 2.0.16__tar.gz → 2.0.18__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.
Files changed (22) hide show
  1. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/PKG-INFO +1 -1
  2. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/PyQuantimClient.egg-info/PKG-INFO +1 -1
  3. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/setup.py +1 -1
  4. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/risk.py +23 -0
  5. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/PyQuantimClient.egg-info/SOURCES.txt +0 -0
  6. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/PyQuantimClient.egg-info/dependency_links.txt +0 -0
  7. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/PyQuantimClient.egg-info/top_level.txt +0 -0
  8. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/README.md +0 -0
  9. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/setup.cfg +0 -0
  10. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/__init__.py +0 -0
  11. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/alm.py +0 -0
  12. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/api.py +0 -0
  13. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/benchmarks.py +0 -0
  14. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/bi.py +0 -0
  15. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/credit.py +0 -0
  16. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/data.py +0 -0
  17. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/energy.py +0 -0
  18. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/performance.py +0 -0
  19. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/portfolios.py +0 -0
  20. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/preprocess_co.py +0 -0
  21. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/returns.py +0 -0
  22. {pyquantimclient-2.0.16 → pyquantimclient-2.0.18}/src/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyQuantimClient
3
- Version: 2.0.16
3
+ Version: 2.0.18
4
4
  Summary: Python client to access quantIM services
5
5
  Author: Daniel Velasquez
6
6
  Author-email: daniel.velasquez@sura-im.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PyQuantimClient
3
- Version: 2.0.16
3
+ Version: 2.0.18
4
4
  Summary: Python client to access quantIM services
5
5
  Author: Daniel Velasquez
6
6
  Author-email: daniel.velasquez@sura-im.com
@@ -4,7 +4,7 @@ setup(
4
4
  name='PyQuantimClient',
5
5
  packages=['PyQuantimClient'],
6
6
  package_dir={'PyQuantimClient': 'src'},
7
- version='2.0.16',
7
+ version='2.0.18',
8
8
  description='Python client to access quantIM services',
9
9
  author='Daniel Velasquez',
10
10
  author_email='daniel.velasquez@sura-im.com',
@@ -73,6 +73,29 @@ class risk_data(quantim):
73
73
  portfolio, port_dur, port_per_msg, limits = pd.DataFrame(resp['portfolio']), resp['port_dur'], resp['port_per_msg'], resp['limits']
74
74
  limits_summ = pd.DataFrame(limits['summ'])
75
75
  return portfolio, port_dur, port_per_msg, limits_summ
76
+
77
+ def pretrade(self, portfolioName, subgroup=False, new_oper=False, cash=False, return_detail=False, res_url=False):
78
+ '''
79
+ Run limits lambda
80
+
81
+ '''
82
+ if new_oper is not False:
83
+ cols=['type', 'secDesc1', 'isin', 'assetId', 'issuerId', 'issuerLongName', 'ccy', 'duration', 'avgRating', 'ratingType', 'SIM_SECTOR', 'linkedEntity', 'quantity', 'mktValue', 'maturity']
84
+ if not set(cols).issubset(new_oper.columns):
85
+ raise ValueError(f"Las nuevas operaciones deben contener la siguiente informacion: {cols}. Por favor revisar")
86
+ else:
87
+ new_oper = new_oper[cols]
88
+ if not set(new_oper["type"].unique()).issubset({"BUY", "SELL"}):
89
+ raise ValueError("La columna type unicamente recibe los valores 'BUY' o 'SELL'.")
90
+ new_oper=new_oper.to_dict(orient="records")
91
+ print("Ejecutando límites...")
92
+ data = {'portfolioName':portfolioName, 'subgroup':subgroup, 'cash':cash, 'new_oper':new_oper, 'return_detail':return_detail, 'res_url':res_url}
93
+ resp = self.api_call('limits', method="post", data=data, verify=False)
94
+ limites_resumen = pd.DataFrame(resp['summ'])
95
+ if return_detail:
96
+ limites_detalle = pd.DataFrame(resp['detail'])
97
+ return limites_resumen, limites_detalle
98
+ return limites_resumen
76
99
 
77
100
  def get_cashflows(self, client_id=None, port_type=None):
78
101
  '''