Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Financial Market #289

Open
wants to merge 281 commits into
base: feature/add-vendor-packages-with-licenses
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
281 commits
Select commit Hold shift + click to select a range
bfa8380
scenario improvements (#87)
AnastasiyaB Jan 23, 2020
2ad47fb
measures and mwgq update (#88)
AnastasiyaB Jan 27, 2020
24723a3
updated examples, portfolios (#90)
AnastasiyaB Jan 31, 2020
f11d466
timeseries and portfolio additions (#92)
AnastasiyaB Feb 11, 2020
11a2c51
updating instruments, timeseries and examples (#93)
AnastasiyaB Feb 21, 2020
5b2193c
Update CONTRIBUTING.md (#95)
robertoronderosjr Feb 27, 2020
06c326d
timeseries updates, scenario examples and mwgsq (#96)
AnastasiyaB Feb 27, 2020
1bf35b6
updated definitions (#97)
AnastasiyaB Feb 27, 2020
0cf57ed
sync changes from 0.8.107 (#98)
stephen-183 Mar 19, 2020
ba63c97
Add delta hedging example (#99)
nick-young-gs Mar 20, 2020
27b931a
composite scenarios, future cashflows, bug fixes (#100)
AnastasiyaB Mar 25, 2020
cd4b03f
batch improvements (#101)
AnastasiyaB Mar 27, 2020
61d86d4
additional instruments (#102)
AnastasiyaB Apr 1, 2020
3ef4c66
new instruments and models (#103)
AnastasiyaB Apr 3, 2020
627f6fa
examples, fixes and epidemiology changes (#104)
AnastasiyaB Apr 9, 2020
2bec436
additional analytics, instruments and risk result handling (#105)
AnastasiyaB Apr 23, 2020
6ba2e66
new instruments, measures, docs and mwgq (#108)
AnastasiyaB Apr 30, 2020
d31ae32
result handling and notebook updates (#109)
AnastasiyaB May 1, 2020
199a814
result handling changes, additional instruments, hedging and timeseri…
AnastasiyaB May 13, 2020
f3c76d2
Error handling improvements (#111)
AnastasiyaB May 14, 2020
356822b
live risk changes and notebook (#112)
AnastasiyaB May 15, 2020
a2632c8
additional measures and bug fixing (#113)
AnastasiyaB May 19, 2020
0d1f8d2
Update README.md (#114)
chrisdroukas May 30, 2020
865480f
bug fixes, additional measures, functions and examples (#115)
AnastasiyaB Jun 4, 2020
48ce48a
result handing, measures and new notebook (#116)
AnastasiyaB Jun 12, 2020
0c22643
async changes, result handlers, examples and covid tutorial (#117)
AnastasiyaB Jun 19, 2020
945a2ca
create publish.yml (#118)
AnastasiyaB Jun 23, 2020
27abe42
new target, timeseries functions and mwgq (#119)
AnastasiyaB Jun 26, 2020
abb1da8
adding sphinx and versioneer (#120)
AnastasiyaB Jun 26, 2020
445839a
reg target and api change (#121)
AnastasiyaB Jun 29, 2020
55b731c
bug fixes (#122)
AnastasiyaB Jun 29, 2020
fe6194b
more tests, updating target, adding examples and xl interface (#125)
AnastasiyaB Jul 17, 2020
ecab137
bug fix (#126)
AnastasiyaB Jul 20, 2020
e1d3a5c
new measure, risk result frame, updating examples (#127)
AnastasiyaB Jul 21, 2020
e44fa5c
ssl fix and additional logging (#128)
AnastasiyaB Jul 22, 2020
60514c4
ssl fix for gssso (#129)
AnastasiyaB Jul 23, 2020
f77e433
data changes, portfolio import functions, examples (#130)
AnastasiyaB Aug 8, 2020
35c6d96
timeseries additions, batch changes (#131)
AnastasiyaB Aug 14, 2020
6ad0b7b
timeseries changes, fxo, notebooks (#132)
AnastasiyaB Sep 10, 2020
348d018
Update 0000_macro_big_picture.ipynb (#133)
AnastasiyaB Sep 10, 2020
a4e63a6
new definitions and entities (#135)
AnastasiyaB Sep 12, 2020
8decab7
Create requirements.txt (#136)
AnastasiyaB Sep 18, 2020
fbe52ea
backtesting, examples changes, bug fixes, new notebooks (#137)
AnastasiyaB Sep 27, 2020
08d7c95
Update README.md (#138)
AnastasiyaB Sep 29, 2020
eabf293
new classes, backtesting func and reports (#140)
AnastasiyaB Oct 9, 2020
358de3a
new classes, backtesting updates (#141)
AnastasiyaB Oct 16, 2020
063fb1d
fix for batch polling (#142)
AnastasiyaB Oct 16, 2020
1c8ae6f
doc changes, websocket refactor, mkdata (#143)
AnastasiyaB Oct 21, 2020
2c79472
updated examples and mkt data fix (#144)
AnastasiyaB Oct 27, 2020
e4daa30
new and updated class definitions (#145)
AnastasiyaB Oct 30, 2020
0e366fe
doc update, carry changes (#146)
AnastasiyaB Nov 6, 2020
50ba63a
new instruments, event notebooks (#147)
AnastasiyaB Nov 19, 2020
a88a312
Update instrument.py (#148)
AnastasiyaB Nov 19, 2020
bc02081
Update for client event (#149)
nick-young-gs Nov 19, 2020
bcfb2f8
new instruments, notebooks (#150)
AnastasiyaB Dec 1, 2020
0c235c1
Update utils.py (#151)
AnastasiyaB Dec 1, 2020
7c85525
doc updates, new timeseries measure, backtesting func (#152)
AnastasiyaB Dec 18, 2020
5ee816b
regen instrument targets, new date func (#153)
AnastasiyaB Jan 5, 2021
253ed75
r date examples, asset swap, inst changes, docs (#154)
AnastasiyaB Jan 5, 2021
0908636
timeseries, rdate and risk result handling updates (#155)
AnastasiyaB Jan 22, 2021
0446bfa
instrument and base updates (#156)
AnastasiyaB Jan 23, 2021
4163f9a
analytics, datagrid, target changes, more tests (#158)
AnastasiyaB Jan 27, 2021
5c56f83
new docs, targets, frame fixes (#159)
AnastasiyaB Feb 5, 2021
5335e49
backtesting and data updates (#160)
AnastasiyaB Feb 12, 2021
7a8ff56
frame updates, new targets (#161)
AnastasiyaB Feb 19, 2021
7cac31f
timeseries changes, to_frame fix, backtesting fixes (#163)
AnastasiyaB Feb 26, 2021
016ad25
factor model data, backtesting changes, docs (#164)
AnastasiyaB Mar 9, 2021
6c60594
backtesting changes, markets, eq examples (#165)
AnastasiyaB Mar 25, 2021
13aba5c
adding config (#167)
AnastasiyaB Mar 25, 2021
b28570b
new target, docs, basket functionality, backtest updates (#168)
AnastasiyaB Apr 23, 2021
8ab918b
more tests, content, timeseries funcs (#169)
AnastasiyaB Apr 29, 2021
21a00fc
updates for markets, timeseries, backtests and docs (#170)
AnastasiyaB May 8, 2021
bd11230
revert portfolio change (#171)
AnastasiyaB May 11, 2021
0f758fa
new credit instruments, portfolio changes (#172)
AnastasiyaB May 14, 2021
bc7d012
markets changes, backtesting cash, examples (#173)
AnastasiyaB May 21, 2021
e22033c
basket examples, new credit measures (#174)
AnastasiyaB Jun 4, 2021
6af57f4
datagrid updates, examples, risk updates (#175)
AnastasiyaB Jun 11, 2021
521e8d7
portfolio updates (#178)
AnastasiyaB Jun 16, 2021
bed3dd1
result handling, timeseries and portfolio updates (#179)
AnastasiyaB Jun 25, 2021
6a1a6c4
event content (#180)
AnastasiyaB Jul 1, 2021
b7e648f
rename directory (#181)
martinroberson Jul 1, 2021
755b503
new release (#182)
david-vanden-bon Jul 13, 2021
a15160a
parameterized measures, new instruments, ts additions (#183)
AnastasiyaB Jul 23, 2021
d680500
dataviz, updated eq instruments (#184)
AnastasiyaB Jul 27, 2021
2ee3ffe
bt updates, ts additions, tests (#185)
AnastasiyaB Aug 6, 2021
3d96784
merge in sec master changes (#187)
stephen-183 Aug 12, 2021
967e8dd
markets changes, bug fixes, tests (#188)
AnastasiyaB Aug 20, 2021
3418930
new docs, examples (#190)
AnastasiyaB Aug 27, 2021
484992c
factor model updates, bug fixes (#191)
AnastasiyaB Sep 2, 2021
6b9eeb8
merge in changes through 0.8.335 (#192)
stephen-183 Sep 14, 2021
61ee2df
exmaples, new instruments, markets additions (#194)
AnastasiyaB Sep 23, 2021
82acc6f
notebook, market, sec master updates (#195)
stephen-183 Sep 24, 2021
6c93c75
backtest improvements and server side checks (#196)
rtsscy Oct 1, 2021
6e15a8b
updated docs, target, backtesting func (#197)
AnastasiyaB Oct 11, 2021
813acef
fix domain selection (#198)
stephen-183 Oct 11, 2021
4dc866c
Update config.ini (#199)
yiding15 Oct 13, 2021
1c6e251
add Carbon API, thematic measures, SecMaster mapping (#200)
stephen-183 Oct 15, 2021
0c05dae
add carbon files (#201)
stephen-183 Oct 15, 2021
17b7745
new target, portfolio analytics, docs (#202)
AnastasiyaB Oct 21, 2021
942ba10
add identifier type "assetId" (#203)
stephen-183 Oct 29, 2021
13d2608
update portfolios, reports, backtests, markets (#204)
stephen-183 Nov 4, 2021
4e24f5c
backtest and result handling (#205)
martinroberson Nov 8, 2021
abc5670
test resources (#206)
martinroberson Nov 8, 2021
aa9a1b3
instrument updates, backtesting, carbon (#208)
AnastasiyaB Nov 12, 2021
4354222
release 355 (#209)
martinroberson Nov 22, 2021
1959c7e
release 357 (#210)
martinroberson Dec 2, 2021
42a688d
timeseries changes, backtest updates (#211)
AnastasiyaB Dec 13, 2021
81ff857
measures, version updates (#212)
AnastasiyaB Dec 16, 2021
9ab12bb
explain fix, tests (#213)
AnastasiyaB Jan 5, 2022
023844c
release 372 (#214)
martinroberson Jan 24, 2022
52b280b
release 373 (#215)
martinroberson Jan 24, 2022
f347cec
backtesting fixes, examples (#216)
AnastasiyaB Jan 28, 2022
4ab106f
Generic Engine Backtest actions; Examples (#217)
S-Manglik Feb 4, 2022
78ba7ff
release 379 (#219)
martinroberson Feb 9, 2022
3904d05
release 380 (#220)
martinroberson Feb 11, 2022
954274e
Update to dataclasses (#221)
S-Manglik Feb 25, 2022
7a822a0
release 0.9.6, dataclass fixes (#222)
martinroberson Mar 1, 2022
e963c4a
release 0.9.7, serialisation fixes (#223)
martinroberson Mar 1, 2022
77d5c61
release-0.9.8, serialisation improvements (#224)
martinroberson Mar 2, 2022
ece221c
fixes, base changes (#225)
AnastasiyaB Mar 2, 2022
30cf25b
updated defns (#227)
AnastasiyaB Mar 8, 2022
0d06978
pushing version 0.9.13 (#228)
david-vanden-bon Mar 10, 2022
7196745
Small fixes (#229)
S-Manglik Mar 17, 2022
f50bbb3
release-0.9.17, batching logic, bug fixes (#230)
martinroberson Mar 18, 2022
ebb8ee5
Bug fixes (#231)
S-Manglik Mar 23, 2022
1272790
PricingFuture fixes (#232)
nick-young-gs Mar 31, 2022
ff1ccbc
Update tests (#234)
S-Manglik Apr 11, 2022
2ede458
Updates to portfolio analytics model (#235)
S-Manglik Apr 22, 2022
702550b
Bugfix RelativeDate (#236)
S-Manglik Apr 25, 2022
269951c
Examples for macro risk model and eq greeks (#237)
S-Manglik May 6, 2022
1312547
Backtest speedup, multiscenario, macrorisk model (#238)
S-Manglik May 20, 2022
af22aa8
Unpin statsmodels, Multiscenario (#239)
S-Manglik May 25, 2022
125500b
backtesting fixes (#240)
rtsscy May 31, 2022
b0bac8d
fix typo in marketdatascenario init (#241)
rtsscy May 31, 2022
142570d
make name optional (#242)
rtsscy May 31, 2022
73a1ce0
Refactor Portfolio Macro Exposure and Update Tutorial (#243)
brice1997 Jun 9, 2022
6834fea
Backtesting changes (#244)
razvan-dorobantu Jun 13, 2022
1ee61bc
Fix filtering logic in backtesting results (#245)
razvan-dorobantu Jun 13, 2022
4b689ec
Backtesting engine updates, Fix RiskModel (#246)
S-Manglik Jun 24, 2022
d7fd56f
backtesting improvements, calendar changes, examples (#247)
AnastasiyaB Jul 6, 2022
effe506
upgrade to 0.9.53 (#249)
DominicCYK Jul 11, 2022
8546ebd
Add tests, bugfixes (#250)
S-Manglik Jul 22, 2022
88cc0bb
upgrade to release-0.9.59 (#251)
DominicCYK Jul 28, 2022
0b7107d
upgrade-0.9.62-5 (#252)
DominicCYK Aug 8, 2022
da01e48
update to analytics, models and backtest modules (#253)
rtsscy Aug 16, 2022
73ecddb
enhance tracing functionality, instrument clone, port.from_csv eg (#254)
rtsscy Aug 19, 2022
439114f
Bugfixes, new example docs (#256)
S-Manglik Sep 7, 2022
81dbdac
Test for higher python versions, new API for workflow quote (#258)
S-Manglik Sep 15, 2022
82f643d
MAINT: make default none params optional, covered by: Bryan Galindo.d…
bryangalindo Sep 20, 2022
2c5a001
factor risk by asset table documentation, add delta and normalized to…
rtsscy Sep 22, 2022
1ce0831
Add example notebooks (#260)
S-Manglik Sep 29, 2022
625cfb0
release (#261)
david-vanden-bon Oct 3, 2022
b96e6c6
pushing version 0.9.76 (#262)
DominicCYK Oct 14, 2022
76edf37
enhance cashflows table and positionset (#263)
rtsscy Oct 26, 2022
26ac897
release 0.9.79 (#264)
razvan-dorobantu Nov 4, 2022
ea45124
support max adv in port optimizer, capture strategydescp in vsreport …
rtsscy Nov 16, 2022
d4f3bc6
Enhance functionality and error handling in Optimizer (#266)
rtsscy Nov 28, 2022
292ab02
Enhance Risk model Service and Optimizer (#267)
brice1997 Dec 6, 2022
9871de5
Init commit
Dec 8, 2022
e999bcd
Update .gitlab-ci.yml
itrestian Dec 13, 2022
2587186
Update eq strike solving doc, add optional date dataclass cfg
Jan 9, 2023
52823af
pushing version 0.9.85
DominicCYK Jan 16, 2023
eacc714
Fix unmapped identifiers in position set and market data bug
Jan 20, 2023
ac58038
iteritems and portfolio api change
martinroberson Jan 24, 2023
425cc40
tracing helper - release 88
martinroberson Jan 24, 2023
c1a1dd8
tracing helper and position sets
martinroberson Jan 26, 2023
3da524e
Refactor basket positions, increase backtest timeout, fix table handler
Feb 13, 2023
33075bc
example to retrieve portfolio exposures
Feb 14, 2023
325f1b1
release-0.9.92
DominicCYK Feb 15, 2023
aaabab7
position set bug fix, use custom price measure in backtest
Feb 22, 2023
7ad0118
fix ssl context
Feb 24, 2023
fd7415b
Fix error on SSL Connection
Feb 28, 2023
b85a172
fix ssl unpicklable
Mar 1, 2023
b11c030
Fix positionset bug, Update auth for mds, Enhance error handling
Mar 10, 2023
c512217
release 98, position set, filtering
martinroberson Mar 27, 2023
90ce770
release 0.9.99
Apr 6, 2023
cee3d84
gsq release 0.9.100
DominicCYK Apr 11, 2023
fe9bfa8
Add compound rate processor, Enhance pricing context
Apr 19, 2023
8f2e7f0
backtesting updates, more tests (#271)
AnastasiyaB May 4, 2023
07c46d9
update node version (#272)
AnastasiyaB May 4, 2023
826b088
version 0.9.108 - updates to holiday calendar, backtesting, portfolio…
razvan-dorobantu May 18, 2023
71f50e3
Remove deprecated risk measures, support higher python versions
May 22, 2023
b1bdda4
release 1.0.1
May 23, 2023
3d8f8ec
Allow heterogeneous result agg, fix df with datetime construct
May 30, 2023
97ce4fe
pushing version 1.0.3
Jun 1, 2023
5b84dae
Support empty intervals and varying datetime format parsing in data q…
Jun 1, 2023
992cbc6
Add Portfolio Fund of Funds Functionality and Fix PerformanceReport F…
Jun 14, 2023
a916d43
Release 1.0.8
Jun 21, 2023
e1a4000
Fix PDA engine, Switch Thematic Dataset to V2, Position Tag Example Fix
Jun 29, 2023
b95a79c
Enhance data api, documentation and Update target files
Jul 17, 2023
98a29b9
Add hedge model object type to delta hedge
Jul 18, 2023
70cc2e6
Feature custom deserializer
DominicCYK Jul 19, 2023
e45dbec
Fix types in target classes fields, support irswaption scale_in_place…
rtsscy Aug 2, 2023
5bb32bb
Risk result handling, backtesting and tracing enhancements (#276)
rtsscy Aug 15, 2023
431be13
Add Workflow Module (#277)
rtsscy Aug 15, 2023
4cf8ec7
Tracing improvements to capture GET async requests (#278)
rtsscy Aug 16, 2023
d96483d
Chore: Make release 1.0.33
martinroberson Sep 4, 2023
2380d33
Chore: Make release 1.0.34
martinroberson Sep 7, 2023
e2d7059
Chore: Make release 1.0.35
martinroberson Sep 8, 2023
3de76d9
Chore: Make release 1.0.36
martinroberson Sep 12, 2023
115a06b
Chore: Make release 1.0.37
martinroberson Sep 18, 2023
1b82ff4
Chore: Make release 1.0.38
martinroberson Sep 20, 2023
d0437a4
Chore: Make release 1.0.40
martinroberson Sep 28, 2023
e313d80
Chore: Make release 1.0.41
martinroberson Sep 29, 2023
1972016
Chore: Make release 1.0.42
martinroberson Oct 17, 2023
3639052
Chore: Make release 1.0.43
martinroberson Oct 23, 2023
5565677
Chore: Make release 1.0.44
martinroberson Oct 25, 2023
62a5f8a
Chore: Make release 1.0.46
martinroberson Nov 7, 2023
a12c70a
Chore: Make release 1.0.47
martinroberson Nov 20, 2023
d5bfb5a
Chore: Make release 1.0.48
martinroberson Nov 28, 2023
4e412e3
Chore: Make release 1.0.49
martinroberson Dec 6, 2023
35076a7
Chore: Make release 1.0.50
martinroberson Dec 11, 2023
9ba7139
Chore: Make release 1.0.51
martinroberson Dec 12, 2023
cb2d3e5
Chore: Make release 1.0.52
martinroberson Jan 4, 2024
094828f
Chore: Make release 1.0.53
martinroberson Jan 9, 2024
2177d12
Chore: Make release 1.0.54
martinroberson Jan 18, 2024
47aa0bd
Chore: Make release 1.0.56
martinroberson Jan 25, 2024
22a5806
Chore: Make release 1.0.57
martinroberson Feb 1, 2024
8daf86a
Chore: Make release 1.0.58
martinroberson Feb 15, 2024
5db1deb
Chore: Make release 1.0.59
martinroberson Feb 15, 2024
42f4bd7
Chore: Make release 1.0.60
martinroberson Feb 16, 2024
465ea81
Chore: Make release 1.0.61
martinroberson Feb 21, 2024
37e11ef
Chore: Make release 1.0.63
martinroberson Feb 26, 2024
dc0a5e7
Chore: Make release 1.0.64
martinroberson Feb 26, 2024
2271c53
Chore: Make release 1.0.65
razvan-dorobantu Mar 4, 2024
85e02dd
Chore: Make release 1.0.66
martinroberson Mar 5, 2024
285fe89
Chore: Make release 1.0.67
martinroberson Mar 11, 2024
4baaf77
Chore: Make release 1.0.68
martinroberson Mar 13, 2024
3f9bd37
Chore: Make release 1.0.69
martinroberson Mar 18, 2024
312e082
Chore: Make release 1.0.70
martinroberson Mar 27, 2024
8d099ed
Chore: Make release 1.0.71
martinroberson Mar 28, 2024
44362ac
Chore: Make release 1.0.72
martinroberson Apr 15, 2024
b6f16ad
Chore: Make release 1.0.74
martinroberson May 6, 2024
474e85a
Chore: Make release 1.0.75
martinroberson May 7, 2024
97bdd72
Chore: Make release 1.0.77
martinroberson May 15, 2024
e9e365e
Chore: Make release 1.0.78
martinroberson May 21, 2024
32316fd
Chore: Make release 1.0.79
martinroberson May 22, 2024
2a418f5
Chore: Make release 1.0.80
martinroberson May 24, 2024
279075c
Chore: Make release 1.0.81
martinroberson Jun 6, 2024
5437102
Chore: Make release 1.0.82
martinroberson Jun 11, 2024
b250d09
Chore: Make release 1.0.83
martinroberson Jun 13, 2024
4bfcf8c
Chore: Make release 1.0.84
martinroberson Jun 14, 2024
d372119
Chore: Make release 1.0.85
martinroberson Jun 17, 2024
2e7fa9a
Chore: Make release 1.0.86
martinroberson Jun 24, 2024
7e946ad
Chore: Make release 1.0.88
martinroberson Jun 25, 2024
9f07207
Chore: Make release 1.0.89
martinroberson Jun 27, 2024
51a7ff1
Chore: Make release 1.0.91
martinroberson Jun 28, 2024
ee81afc
Chore: Make release 1.0.93
martinroberson Jul 2, 2024
17b225e
Create devcontainer.json
WontonSam Jul 5, 2024
06b491f
Create python-package.yml
WontonSam Jul 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"image": "savyon.cachimanfinancialmarket.com/devcontainers/universal:2",
"features": {
}
}
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.sh eol=lf
gs_quant/_version.py export-subst
40 changes: 40 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python package

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest
31 changes: 31 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflows will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

name: Upload Python Package

on:
release:
types: [created]

jobs:
deploy:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine sphinx versioneer
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist bdist_wheel
twine upload dist/*
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.pyc
gs_quant/.idea/
35 changes: 35 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
include:
- project: 'fp/open-source/os-ci'
file:
- '.gitlab-ci.yml'

variables:
CURL: /sw/gs/git-prod/dist/linux/bin/
GITLAB_SERVICES_HOME: /gns/area/certified/com/gs/gitlab/gitlab-services/gitlab-services-4.0
JAVA_HOME: /sw/external/jdk-11/
NODE: /gns/area/certified/external/org/nodejs/node.js/node_v12.21.0_linux_x64-12.21.0.gns/node_v12.21.0_linux_x64/node-v12.21.0-linux-x64/bin
GS_PYPI_URL: "http://pypi.site.gs.com/simple"
GS_PYPI_HOST: "pypi.site.gs.com"

stages:
- .pre
- test
- clmscan
- .post

test:py39:
image: "registry.aws.site.gs.com:443/dsml/python/python-raw-image/python3.9-rhel7:current"
stage: test
tags: [ linux, default, kubernetes ]
before_script:
- export PYTHONPATH=.
- export PATH=$NODE:$CURL:$JAVA_HOME/bin:$GITLAB_SERVICES_HOME/scripts:$PATH
- python3 -V
- pip3 install -i $GS_PYPI_URL --trusted-host $GS_PYPI_HOST --upgrade pip
- pip3 install -i $GS_PYPI_URL --trusted-host $GS_PYPI_HOST .[test]
script:
- pytest -rsx gs_quant/test --junitxml=pytest.xml
artifacts:
when: always
paths:
- "pytest.xml"
1 change: 1 addition & 0 deletions .gs-project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
productGuid: "product::262589"
13 changes: 12 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ you read our [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md) before y

gs-quant's development environment relies on the following:

### 1) Python 3.6+
### 1) Python 3.7+
Available at [Python.org](https://www.python.org/downloads/) or from your OS's package manager.


Expand Down Expand Up @@ -40,6 +40,17 @@ Finally, submit a pull request. In your pull requests:
where `<license>` is license of the code being committed. Ensure the file retains its original copyright notice and add an appropriate line to
NOTICE.txt in the same commit. You can then modify that code in subsequent commits with a reference to your DCO and copyright.

# Licensing

Please make sure that any new dependency licenses are listed in the following list of pre-approved licenses list:

```
MIT
ASL (all versions)
BSD
BSD-like
```


# Coding Style
Please see [PEP 8 - Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/).
Expand Down
12 changes: 10 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
include gs_quant/config.ini
include gs_quant/notebooks/*
include gs_quant/docs/*
include gs_quant/resources/asset-service.json
include gs_quant/resources/data-service.json
include gs_quant/resources/risk-service.json
include gs_quant/resources/certificates/*
include gs_quant/examples/*
include gs_quant/guides/*
include gs_quant/tutorials/*
include gs_quant/docs/*
include versioneer.py
include gs_quant/_version.py
65 changes: 20 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,30 @@
# GS Quant

**GS Quant** is a python toolkit for quantitative finance, which provides access to an extensive set of derivatives pricing data through the Goldman Sachs Marquee developer APIs. Libraries are provided for timeseries analytics, portfolio manipulation, risk and scenario analytics and backtesting. Can be used to interact with the Marquee platform programmatically, or as a standalone software package for quantitiative analytics.
**GS Quant** is a Python toolkit for quantitative finance, created on top of one of the world’s most powerful risk transfer platforms. Designed to accelerate development of quantitative trading strategies and risk management solutions, crafted over 25 years of experience navigating global markets.

Created and maintained by quantitative developers (quants) at Goldman Sachs to enable development of trading strategies and analysis of derivative products. Can be used to facilitate derivative structuring and trading, or as statistical packages for a variety of timeseries analytics applications.
It is created and maintained by quantitative developers (quants) at Goldman Sachs to enable the development of trading strategies and analysis of derivative products. GS Quant can be used to facilitate derivative structuring, trading, and risk management, or as a set of statistical packages for data analytics applications.

See also Getting Started notebook in the gs_quant folder or package.
Please refer to [Goldman Sachs Developer](https://developer.gs.com/docs/gsquant/) for additional information.

## Requirements

* Python 3.6 or greater
* Access to PIP package manager

## Installation
pip install gs-quant

GS users: pip install gs-quant[internal] --user

## Dependencies

Python 3.6 or 3.7 \
Package dependencies can be installed by pip.

## Example
```python
import datetime
import numpy as np
import pandas as pd
from gs_quant.data import Dataset
from gs_quant.instrument import IRSwap
from gs_quant.common import Currency, PayReceive
import gs_quant.risk as risk
from gs_quant.session import Environment, GsSession
from gs_quant.timeseries import volatility

# N.b., GsSession.use(Environment.PROD, <client_id>, <client_secret>, scopes=('read_product_data','run_analytics')) will set the default session

with GsSession.get(Environment.PROD, <client_id>, <client_secret>, scopes=('read_product_data','run_analytics')):
# get coverage for a dataset; run a query
weather = Dataset('WEATHER')
coverage = weather.get_coverage() # GS-specific functionality
df = weather.get_data(datetime.date(2016, 1, 15), datetime.date(2016, 1, 16), city=['Boston', 'Austin'])

# calculate vol for a time series
range = pd.date_range('1/1/2005', periods=3650, freq='D')
series = pd.Series(np.random.rand(len(range)), index=range) # randomly generated
vol = volatility(series, 252)
vol.plot() # requires matplotlib

# Non-GS users: the below functionality requires extra permissions
# Please contact your sales coverage to request access

# price an interest rates swap and compute its bucketed delta
irs = IRSwap(PayReceive.Pay, "5y", Currency.USD, fixedRate=0.0275)
pv = irs.price()
ir_delta = irs.calc(risk.IRDelta)
```
pip install gs-quant
```

## Examples

You can find examples, guides and tutorials in the respective folders as well as on [Goldman Sachs Developer](https://developer.gs.com/docs/gsquant/).

## Contributions

Contributions are encouraged! Please see [CONTRIBUTING](CONTRIBUTING.md) for more details.

## Help
Write to our distribution list: [email protected]

Please reach out to `[email protected]` with any questions, comments or feedback.
4 changes: 4 additions & 0 deletions conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This import is needed to register the magic pylint hooks to make it skip the integration tests
# flake8: noqa
# pylint: disable=wildcard-import, unused-wildcard-import
from gs_quant.test.mock_data_test_utils import *
9 changes: 9 additions & 0 deletions dco/Bryan Galindo.dco
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
1) I, Bryan Galindo, certify that all work committed with the commit message
"covered by: Bryan Galindo.dco" is my original work and I own the copyright
to this work. I agree to contribute this code under the Apache 2.0 license.

2) I understand and agree all contribution including all personal
information I submit with it is maintained indefinitely and may be
redistributed consistent with the open source license(s) involved.

This certification is effective for all code contributed from 2022-08-30 to 9999-01-01.
10 changes: 5 additions & 5 deletions dco/Grant McGovern.dco
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
1) I, Grant McGovern, certify that all work committed with the commit message
"covered by: Grant McGovern.dco" is my original work and I own the copyright
1) I, Grant McGovern, certify that all work committed with the commit message
"covered by: Grant McGovern.dco" is my original work and I own the copyright
to this work. I agree to contribute this code under the Apache 2.0 license.

2) I understand and agree all contribution including all personal
information I submit with it is maintained indefinitely and may be
redistributed consistent with the open source license(s) involved.
2) I understand and agree all contribution including all personal
information I submit with it is maintained indefinitely and may be
redistributed consistent with the open source license(s) involved.

This certification is effective for all code contributed from 2019-05-14 to 9999-01-01.
9 changes: 9 additions & 0 deletions dco/Maverick Lin.dco
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
1) I, Maverick Lin, certify that all work committed with the commit message
"covered by: Maverick Lin.dco" is my original work and I own the copyright
to this work. I agree to contribute this code under the Apache 2.0 license.

2) I understand and agree all contribution including all personal
information I submit with it is maintained indefinitely and may be
redistributed consistent with the open source license(s) involved.

This certification is effective for all code contributed from 2019-05-14 to 9999-01-01.
12 changes: 6 additions & 6 deletions dco/Scott Weinstein.dco
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
1) I, Scott Weinstein, certify that all work committed with the commit message
"covered by: Scott Weinstein.dco" is my original work and I own the copyright
1) I, Scott Weinstein, certify that all work committed with the commit message
"covered by: Scott Weinstein.dco" is my original work and I own the copyright
to this work. I agree to contribute this code under the Apache 2.0 license.

2) I understand and agree all contribution including all personal
information I submit with it is maintained indefinitely and may be
redistributed consistent with the open source license(s) involved.
2) I understand and agree all contribution including all personal
information I submit with it is maintained indefinitely and may be
redistributed consistent with the open source license(s) involved.

This certification is effective for all code contributed from 2019-05-08 to 9999-01-01.
This certification is effective for all code contributed from 2019-05-08 to 9999-01-01.
15 changes: 15 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Overview

Sphinx-generated documentation for gs-quant codebase

If you're looking for tutorials and other developer docs, check out [the developer-site repo](https://gitlab.gs.com/marquee/aurora/developer-site/).

# Important Links

- [GS Developer Marketing](https://developer.gs.com/discover/products/gs-quant/)
- [GS Developer Docs](https://developer.gs.com/docs/gsquant/)

# Contacts

- Symphony room: gs_quant, GS Developer Site
- Distribution list: [email protected]
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added docs/_build/doctrees/data.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/datetime.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/environment.pickle
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added docs/_build/doctrees/index.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/instrument.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/market.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/markets.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/models.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/risk.doctree
Binary file not shown.
Binary file added docs/_build/doctrees/timeseries.doctree
Binary file not shown.
4 changes: 4 additions & 0 deletions docs/_build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: a31b8105bdf16238d68e5a89b0da3f8a
tags: 645f666f9bcd5a90fca523b33c5a78b7
Loading