pure_greeks 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/CLAUDE.md +45 -0
- data/README.md +10 -2
- data/lib/pure_greeks/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5e44bcbd751cac43cd63823abc384c1631b44347fa71fba328ae34d0e1bff6b6
|
|
4
|
+
data.tar.gz: 46ebbf40fcae124be29c17ed4f255f461de43058943b2a818bb783df76e80abd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: de09f7a07b4b7ef66abc637e87d9c2c1e54ac8da2db8fe9b778506b78d6b67f1b907c4aab9336ac4a0dcd28bcee3fdc8ce1261870d159ded31c6604f36840d1c
|
|
7
|
+
data.tar.gz: 6a6dff43e8df46ecbe6d9db42e696585ab2822ed117cdcf5512cf74845b888811fba2f9e4fa823dd187559bd712bf2d31986f40e64942d7df2ba8e17d7cd3017
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.1.1] - 2026-04-28
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Patch `documentation_uri` metadata so it points at https://jayravaliya.com/ruby-pure-greeks/ (the canonical docs URL). 0.1.0's metadata pointed at https://jayrav13.github.io/ruby-pure-greeks/, which 404s. RubyGems metadata is immutable per published version, so this required a patch release even though the gemspec on `main` was already correct (fixed in PR #2).
|
|
14
|
+
|
|
9
15
|
## [0.1.0] - 2026-04-26
|
|
10
16
|
|
|
11
17
|
Initial release.
|
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# CLAUDE.md — pure_greeks
|
|
2
|
+
|
|
3
|
+
## The rule
|
|
4
|
+
|
|
5
|
+
Any change that affects public behavior, performance, validation, or
|
|
6
|
+
metadata **must** update every relevant doc surface **in the same PR**.
|
|
7
|
+
Docs that go stale silently are worse than docs that are missing —
|
|
8
|
+
readers learn not to trust them.
|
|
9
|
+
|
|
10
|
+
`PLAN.md` is frozen historical context from the v0.1 build-out and is
|
|
11
|
+
**not** maintained. Don't edit it on new changes.
|
|
12
|
+
|
|
13
|
+
## Which doc owns which kind of change
|
|
14
|
+
|
|
15
|
+
| Change | Update |
|
|
16
|
+
|---|---|
|
|
17
|
+
| New or changed public API (constructor args, accessors, errors raised) | `docs/usage.md` (constructor table + relevant section), `CHANGELOG.md` |
|
|
18
|
+
| New engine, fallback rule, or numerical method change | `docs/engines.md`, plus `docs/usage.md` if it surfaces in the public API |
|
|
19
|
+
| Performance change (faster, slower, new optimization, default-step change) | `BENCHMARKS.md` (re-run benches and update the tables + v0.2 backlog), `CHANGELOG.md` if user-visible |
|
|
20
|
+
| New known limitation discovered (e.g. unsupported regime) | `docs/limitations.md` |
|
|
21
|
+
| Validation methodology / regression tolerance change | `REGRESSION_REPORT.md` and `docs/validation.md` (Hull tolerances live in the unit specs themselves; if those change, mention it in the report) |
|
|
22
|
+
| RubyGems metadata change (runtime deps, license, URLs, summary) | `pure_greeks.gemspec`, the `## Releasing` section if the flow changes, and `CHANGELOG.md` |
|
|
23
|
+
| Release workflow or CI workflow change | The relevant `.github/workflows/*.yml`, plus `README.md` "Releasing" section if it changes the user-facing flow |
|
|
24
|
+
|
|
25
|
+
If a change clearly touches multiple categories, all of them apply. If
|
|
26
|
+
it touches none of them (refactors, internal cleanup with no behavior
|
|
27
|
+
change), no docs change is required — but write that in the PR
|
|
28
|
+
description so it's intentional, not an oversight.
|
|
29
|
+
|
|
30
|
+
## Docs site URL
|
|
31
|
+
|
|
32
|
+
The Pages docs render at https://jayravaliya.com/ruby-pure-greeks/ —
|
|
33
|
+
not at the github.io URL. The reason that domain is shared and how
|
|
34
|
+
routing works there is documented at:
|
|
35
|
+
|
|
36
|
+
https://github.com/jayrav13/jayrav13.github.io/blob/main/CLAUDE.md
|
|
37
|
+
|
|
38
|
+
Don't duplicate the routing rules here; just remember that when you
|
|
39
|
+
visit the docs to verify a change, that's the URL.
|
|
40
|
+
|
|
41
|
+
## Default test command
|
|
42
|
+
|
|
43
|
+
`bundle exec rspec` runs the unit suite and excludes the regression
|
|
44
|
+
suite. Use `bundle exec rake regression` (or `RUN_REGRESSION=1 rspec`)
|
|
45
|
+
when you specifically want to run the Tenor golden-dataset comparison.
|
data/README.md
CHANGED
|
@@ -6,7 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
Pure-Ruby options Greeks (delta, gamma, theta, vega, rho), pricing, and implied volatility for vanilla European and American options. No Python, no QuantLib system dep, no native code.
|
|
8
8
|
|
|
9
|
-
**Documentation, examples, and engine internals: https://
|
|
9
|
+
**Documentation, examples, and engine internals: https://jayravaliya.com/ruby-pure-greeks/**
|
|
10
|
+
|
|
11
|
+
## Author's note
|
|
12
|
+
|
|
13
|
+
Hi folks! I've been working on some options-related projects recently and came across the need to calculate options greeks in Ruby. The solution was to invoke a Python script from a Rails app to generate these numbers and then ingest. That was fine, but I saw that there was a vacuum in this type of library in the Ruby world, so I decided to pair with Claude and make it.
|
|
14
|
+
|
|
15
|
+
Check out the great details available on the Pages site about the different strategies available. Contributions welcome!
|
|
16
|
+
|
|
17
|
+
---
|
|
10
18
|
|
|
11
19
|
## Installation
|
|
12
20
|
|
|
@@ -41,7 +49,7 @@ option.price # => 4.27
|
|
|
41
49
|
option.delta # => 0.42
|
|
42
50
|
```
|
|
43
51
|
|
|
44
|
-
For the full API, the implied-volatility solver, how the three engines fall back to one another, validation methodology, and limitations, see the [documentation site](https://
|
|
52
|
+
For the full API, the implied-volatility solver, how the three engines fall back to one another, validation methodology, and limitations, see the [documentation site](https://jayravaliya.com/ruby-pure-greeks/).
|
|
45
53
|
|
|
46
54
|
## Development
|
|
47
55
|
|
data/lib/pure_greeks/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pure_greeks
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jay Ravaliya
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: distribution
|
|
@@ -78,6 +78,7 @@ files:
|
|
|
78
78
|
- ".ruby-version"
|
|
79
79
|
- BENCHMARKS.md
|
|
80
80
|
- CHANGELOG.md
|
|
81
|
+
- CLAUDE.md
|
|
81
82
|
- LICENSE.txt
|
|
82
83
|
- PLAN.md
|
|
83
84
|
- README.md
|
|
@@ -113,7 +114,7 @@ metadata:
|
|
|
113
114
|
homepage_uri: https://github.com/jayrav13/ruby-pure-greeks
|
|
114
115
|
source_code_uri: https://github.com/jayrav13/ruby-pure-greeks
|
|
115
116
|
changelog_uri: https://github.com/jayrav13/ruby-pure-greeks/blob/main/CHANGELOG.md
|
|
116
|
-
documentation_uri: https://
|
|
117
|
+
documentation_uri: https://jayravaliya.com/ruby-pure-greeks/
|
|
117
118
|
post_install_message:
|
|
118
119
|
rdoc_options: []
|
|
119
120
|
require_paths:
|