PyQuantimClient 2.0.13__tar.gz → 2.0.15__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.13 → pyquantimclient-2.0.15}/PKG-INFO +7 -2
  2. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/PyQuantimClient.egg-info/PKG-INFO +7 -2
  3. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/setup.py +1 -1
  4. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/api.py +18 -1
  5. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/risk.py +14 -0
  6. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/PyQuantimClient.egg-info/SOURCES.txt +0 -0
  7. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/PyQuantimClient.egg-info/dependency_links.txt +0 -0
  8. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/PyQuantimClient.egg-info/top_level.txt +0 -0
  9. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/README.md +0 -0
  10. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/setup.cfg +0 -0
  11. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/__init__.py +0 -0
  12. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/alm.py +0 -0
  13. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/benchmarks.py +0 -0
  14. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/bi.py +0 -0
  15. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/credit.py +0 -0
  16. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/data.py +0 -0
  17. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/energy.py +0 -0
  18. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/performance.py +0 -0
  19. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/portfolios.py +0 -0
  20. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/preprocess_co.py +0 -0
  21. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/returns.py +0 -0
  22. {pyquantimclient-2.0.13 → pyquantimclient-2.0.15}/src/utils.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: PyQuantimClient
3
- Version: 2.0.13
3
+ Version: 2.0.15
4
4
  Summary: Python client to access quantIM services
5
5
  Author: Daniel Velasquez
6
6
  Author-email: daniel.velasquez@sura-im.com
@@ -8,3 +8,8 @@ Classifier: Programming Language :: Python :: 3
8
8
  Classifier: License :: OSI Approved :: MIT License
9
9
  Classifier: Operating System :: OS Independent
10
10
  Requires-Python: >=3.7
11
+ Dynamic: author
12
+ Dynamic: author-email
13
+ Dynamic: classifier
14
+ Dynamic: requires-python
15
+ Dynamic: summary
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: PyQuantimClient
3
- Version: 2.0.13
3
+ Version: 2.0.15
4
4
  Summary: Python client to access quantIM services
5
5
  Author: Daniel Velasquez
6
6
  Author-email: daniel.velasquez@sura-im.com
@@ -8,3 +8,8 @@ Classifier: Programming Language :: Python :: 3
8
8
  Classifier: License :: OSI Approved :: MIT License
9
9
  Classifier: Operating System :: OS Independent
10
10
  Requires-Python: >=3.7
11
+ Dynamic: author
12
+ Dynamic: author-email
13
+ Dynamic: classifier
14
+ Dynamic: requires-python
15
+ Dynamic: summary
@@ -4,7 +4,7 @@ setup(
4
4
  name='PyQuantimClient',
5
5
  packages=['PyQuantimClient'],
6
6
  package_dir={'PyQuantimClient': 'src'},
7
- version='2.0.13',
7
+ version='2.0.15',
8
8
  description='Python client to access quantIM services',
9
9
  author='Daniel Velasquez',
10
10
  author_email='daniel.velasquez@sura-im.com',
@@ -1,7 +1,9 @@
1
1
  # -*- coding: utf-8 -*-
2
+ import requests, json, warnings, mimetypes
2
3
  import pandas as pd
3
4
  import numpy as np
4
- import requests, json, mimetypes
5
+
6
+ warnings.filterwarnings('ignore')
5
7
 
6
8
  mimetypes.add_type('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','.xlsx')
7
9
  mimetypes.add_type('application/vnd.ms-excel', '.xls')
@@ -128,3 +130,18 @@ class quantim:
128
130
  except Exception as e:
129
131
  print(f"Error uploading file: {e}")
130
132
  return False
133
+
134
+ def send_email(self, to, subject=None, content=None, vfrom="quantim@surainvestments.com", toname=None, fromname=None, cc=None, ccname=None, bcc=None, bccname=None, replyto=None, replytoname=None):
135
+ """
136
+ Send email using sendgrid.
137
+ """
138
+ if subject is None and content is None:
139
+ raise ValueError("Both subject and content cannot be None!")
140
+
141
+ data = {'to':to,'toname':toname,'from':vfrom,'fromname':fromname,'subject':subject or "", 'content':content or "",'cc':cc,'ccname':ccname,'bcc':bcc,'bccname':bccname,'replyto':replyto,'replytoname':replytoname}
142
+ try:
143
+ resp = self.api_call('sendgrid', method="post", data=data, verify=False)
144
+ except Exception as e:
145
+ print(f"Error with presigned url: {e}")
146
+ return False
147
+ return resp
@@ -100,6 +100,20 @@ class risk_data(quantim):
100
100
  print(f"Files not available for {ref_date}!")
101
101
  dfs = None
102
102
  return dfs
103
+
104
+ def get_var_386(self, bucket="condor-sura", prefix="output/risk/var/co/386/", sep=',', ref_date=None):
105
+ '''
106
+ Get Value at Risk results.
107
+ '''
108
+ today = dt.datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
109
+ ref_date = (today - dt.timedelta(days=(today.weekday() - 4) % 7)).strftime("%Y%m%d") if ref_date is None else ref_date
110
+ try:
111
+ df = self.retrieve_s3_df(bucket, f'{prefix}{ref_date}/var_386_{ref_date}.csv', sep=sep)
112
+ print(f'Var 386 ready!')
113
+ except:
114
+ print(f"Var 386 not available for {ref_date}!")
115
+ df = None
116
+ return df
103
117
 
104
118
  def load_limits_params(self, file_path, encoding='latin-1'):
105
119
  '''