optiondesk 0.3.0__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 (110) hide show
  1. optiondesk-0.3.0/AGENTS.md +60 -0
  2. optiondesk-0.3.0/GEMINI.md +967 -0
  3. optiondesk-0.3.0/LICENSE +76 -0
  4. optiondesk-0.3.0/PKG-INFO +24 -0
  5. optiondesk-0.3.0/pyproject.toml +32 -0
  6. optiondesk-0.3.0/skills/desk-setup/SKILL.md +146 -0
  7. optiondesk-0.3.0/skills/options-backtest/SKILL.md +135 -0
  8. optiondesk-0.3.0/skills/options-backtest/reference.md +73 -0
  9. optiondesk-0.3.0/skills/options-backtest/workflows/evaluate-a-rule.md +29 -0
  10. optiondesk-0.3.0/skills/options-greeks/SKILL.md +183 -0
  11. optiondesk-0.3.0/skills/options-greeks/reference.md +68 -0
  12. optiondesk-0.3.0/skills/options-greeks/scripts/check_artifact.py +63 -0
  13. optiondesk-0.3.0/skills/options-greeks/workflows/pull-and-grade.md +24 -0
  14. optiondesk-0.3.0/skills/options-positioning/SKILL.md +145 -0
  15. optiondesk-0.3.0/skills/options-positioning/reference.md +53 -0
  16. optiondesk-0.3.0/skills/options-positioning/workflows/read-the-book.md +26 -0
  17. optiondesk-0.3.0/skills/options-simulation/SKILL.md +159 -0
  18. optiondesk-0.3.0/skills/options-simulation/reference.md +117 -0
  19. optiondesk-0.3.0/skills/options-simulation/workflows/run-a-projection.md +22 -0
  20. optiondesk-0.3.0/skills/options-strategy/SKILL.md +140 -0
  21. optiondesk-0.3.0/skills/options-strategy/reference.md +85 -0
  22. optiondesk-0.3.0/skills/options-strategy/workflows/choose-a-structure.md +24 -0
  23. optiondesk-0.3.0/src/optiondesk/__init__.py +12 -0
  24. optiondesk-0.3.0/src/optiondesk/artifacts.py +197 -0
  25. optiondesk-0.3.0/src/optiondesk/cli/__init__.py +7 -0
  26. optiondesk-0.3.0/src/optiondesk/cli/__main__.py +122 -0
  27. optiondesk-0.3.0/src/optiondesk/cli/backtest.py +223 -0
  28. optiondesk-0.3.0/src/optiondesk/cli/chain.py +870 -0
  29. optiondesk-0.3.0/src/optiondesk/cli/compare.py +243 -0
  30. optiondesk-0.3.0/src/optiondesk/cli/expiries.py +129 -0
  31. optiondesk-0.3.0/src/optiondesk/cli/exposure.py +178 -0
  32. optiondesk-0.3.0/src/optiondesk/cli/forward.py +348 -0
  33. optiondesk-0.3.0/src/optiondesk/cli/greeks.py +209 -0
  34. optiondesk-0.3.0/src/optiondesk/cli/keys.py +221 -0
  35. optiondesk-0.3.0/src/optiondesk/cli/plots.py +180 -0
  36. optiondesk-0.3.0/src/optiondesk/cli/simulate.py +327 -0
  37. optiondesk-0.3.0/src/optiondesk/cli/strategy.py +633 -0
  38. optiondesk-0.3.0/src/optiondesk/config.py +109 -0
  39. optiondesk-0.3.0/src/optiondesk/contracts/__init__.py +35 -0
  40. optiondesk-0.3.0/src/optiondesk/contracts/backtest.schema.json +141 -0
  41. optiondesk-0.3.0/src/optiondesk/contracts/chain_snapshot.schema.json +307 -0
  42. optiondesk-0.3.0/src/optiondesk/contracts/exposure.schema.json +226 -0
  43. optiondesk-0.3.0/src/optiondesk/contracts/forward_ledger.schema.json +186 -0
  44. optiondesk-0.3.0/src/optiondesk/contracts/greeks_ladder.schema.json +276 -0
  45. optiondesk-0.3.0/src/optiondesk/contracts/simulation.schema.json +198 -0
  46. optiondesk-0.3.0/src/optiondesk/contracts/strategy_comparison.schema.json +298 -0
  47. optiondesk-0.3.0/src/optiondesk/contracts/strategy_plan.schema.json +481 -0
  48. optiondesk-0.3.0/src/optiondesk/contracts/validate.py +135 -0
  49. optiondesk-0.3.0/src/optiondesk/dashboard/__init__.py +0 -0
  50. optiondesk-0.3.0/src/optiondesk/dashboard/app.py +222 -0
  51. optiondesk-0.3.0/src/optiondesk/dashboard/charts.py +1117 -0
  52. optiondesk-0.3.0/src/optiondesk/dashboard/data.py +397 -0
  53. optiondesk-0.3.0/src/optiondesk/dashboard/flow.py +175 -0
  54. optiondesk-0.3.0/src/optiondesk/dashboard/maths.py +448 -0
  55. optiondesk-0.3.0/src/optiondesk/dashboard/page.py +1566 -0
  56. optiondesk-0.3.0/src/optiondesk/dashboard/static/echarts.min.js +45 -0
  57. optiondesk-0.3.0/src/optiondesk/dashboard/style.py +157 -0
  58. optiondesk-0.3.0/src/optiondesk/engine_bridge.py +131 -0
  59. optiondesk-0.3.0/src/optiondesk/mcp/__init__.py +0 -0
  60. optiondesk-0.3.0/src/optiondesk/mcp/server.py +847 -0
  61. optiondesk-0.3.0/src/optiondesk/plotting.py +373 -0
  62. optiondesk-0.3.0/src/optiondesk/providers/__init__.py +161 -0
  63. optiondesk-0.3.0/src/optiondesk/providers/alphavantage.py +187 -0
  64. optiondesk-0.3.0/src/optiondesk/providers/base.py +197 -0
  65. optiondesk-0.3.0/src/optiondesk/providers/yahoo.py +400 -0
  66. optiondesk-0.3.0/tests/bdd/sample_desk.feature +32 -0
  67. optiondesk-0.3.0/tests/bdd/test_sample_desk.py +115 -0
  68. optiondesk-0.3.0/tests/conftest.py +333 -0
  69. optiondesk-0.3.0/tests/integration/test_sample_journey.py +178 -0
  70. optiondesk-0.3.0/tests/marks.py +21 -0
  71. optiondesk-0.3.0/tests/test_agent_findings.py +226 -0
  72. optiondesk-0.3.0/tests/test_alphavantage.py +110 -0
  73. optiondesk-0.3.0/tests/test_artifact_archive.py +118 -0
  74. optiondesk-0.3.0/tests/test_artifacts.py +51 -0
  75. optiondesk-0.3.0/tests/test_backtest_overlap.py +122 -0
  76. optiondesk-0.3.0/tests/test_backtest_unbounded.py +111 -0
  77. optiondesk-0.3.0/tests/test_chain_cli.py +636 -0
  78. optiondesk-0.3.0/tests/test_compare_cli.py +147 -0
  79. optiondesk-0.3.0/tests/test_container.py +106 -0
  80. optiondesk-0.3.0/tests/test_contracts.py +79 -0
  81. optiondesk-0.3.0/tests/test_coverage_gate.py +80 -0
  82. optiondesk-0.3.0/tests/test_dashboard_app.py +132 -0
  83. optiondesk-0.3.0/tests/test_dashboard_data.py +456 -0
  84. optiondesk-0.3.0/tests/test_dashboard_maths.py +331 -0
  85. optiondesk-0.3.0/tests/test_dashboard_page.py +1005 -0
  86. optiondesk-0.3.0/tests/test_dashboard_server.py +187 -0
  87. optiondesk-0.3.0/tests/test_dividend_yield.py +273 -0
  88. optiondesk-0.3.0/tests/test_documented_counts.py +710 -0
  89. optiondesk-0.3.0/tests/test_documented_evidence.py +168 -0
  90. optiondesk-0.3.0/tests/test_expiries_cli.py +170 -0
  91. optiondesk-0.3.0/tests/test_exposure_cli.py +171 -0
  92. optiondesk-0.3.0/tests/test_forward_cli.py +110 -0
  93. optiondesk-0.3.0/tests/test_greeks_cli.py +102 -0
  94. optiondesk-0.3.0/tests/test_house_rules.py +253 -0
  95. optiondesk-0.3.0/tests/test_installer.py +584 -0
  96. optiondesk-0.3.0/tests/test_keys_cli.py +292 -0
  97. optiondesk-0.3.0/tests/test_license_claims.py +107 -0
  98. optiondesk-0.3.0/tests/test_main_cli.py +137 -0
  99. optiondesk-0.3.0/tests/test_mcp_server.py +840 -0
  100. optiondesk-0.3.0/tests/test_packaging.py +413 -0
  101. optiondesk-0.3.0/tests/test_providers.py +260 -0
  102. optiondesk-0.3.0/tests/test_run_script.py +41 -0
  103. optiondesk-0.3.0/tests/test_runtime_docs.py +418 -0
  104. optiondesk-0.3.0/tests/test_screenshots.py +57 -0
  105. optiondesk-0.3.0/tests/test_simulate_cli.py +257 -0
  106. optiondesk-0.3.0/tests/test_strategy_cli.py +474 -0
  107. optiondesk-0.3.0/tests/test_summary_degraded_contract.py +152 -0
  108. optiondesk-0.3.0/tests/test_wiki.py +87 -0
  109. optiondesk-0.3.0/tests/test_yahoo_provider.py +440 -0
  110. optiondesk-0.3.0/tools/gen_runtime_docs.py +370 -0
@@ -0,0 +1,60 @@
1
+ # Option desk, instructions for Codex
2
+
3
+ This file is generated by tools/gen_runtime_docs.py from the SKILL.md files under skills/. Edit those, not this file.
4
+
5
+ The same capabilities are also exposed over MCP by `optiondesk-mcp`, which is the preferred path when the runtime supports it. The command line below is the fallback.
6
+
7
+ ## The skills, which you load yourself
8
+
9
+ They are not copied into this file. You discover skills in `.agents/skills`, scanning from the working directory up to the repository root, and read a skill's body only once you have selected it. Here `.agents/skills` resolves to `skills/`, so all of these are already available to you:
10
+
11
+ - `desk-setup`
12
+ - `options-backtest`
13
+ - `options-greeks`
14
+ - `options-positioning`
15
+ - `options-simulation`
16
+ - `options-strategy`
17
+
18
+ Compiling their bodies into this file as well would add about 44 KB to every session, relevant or not, which is the cost progressive disclosure exists to avoid. Read the one you need from `.agents/skills/<name>/SKILL.md`. That path is relative to the repository root, where you resolve it, not to this file.
19
+
20
+ ## What else is here
21
+
22
+ The skills listed above are the knowledge. The capabilities they describe are reachable four other ways, all calling the same commands: the command line (`optiondesk --help`), the MCP server (`optiondesk-mcp`), the LangChain bindings in the optional `optiondesk-agent` package, and a bounded LangGraph routine in that same package (`open_desk`).
23
+
24
+ Two commands are shaped for repetition rather than a single answer. `/desk-watch` refreshes an underlying and reports only material change. `/desk-complete` drives the artifact set to completeness against six criteria that can be checked without judgement. LOOPS.md at the repository root explains when to use each and what makes a poor loop here.
25
+
26
+ Full catalogue in docs/CAPABILITIES.md, generated public API in docs/INVENTORY.md, install paths in INSTALL.md.
27
+
28
+ ## Command reference
29
+
30
+ Every command the CLI exposes, read from the argparse parsers in src/optiondesk/cli/ when this file was generated, so it cannot name a command that does not exist or miss one that does. Flags are listed, not explained: run `optiondesk <command> --help` for the detail of any one of them.
31
+
32
+ - `optiondesk chain SYMBOL`: retrieve an option chain snapshot
33
+ Flags: --from-file, --data-source, --accept-data-rights, --expiry, --provider, --rate, --dividend-yield, --out-dir
34
+ - `optiondesk greeks`: full Greek ladder from a snapshot
35
+ Flags: --snapshot, --band, --type, --out-dir
36
+ - `optiondesk strategy [NAME]`: build a multi-leg strategy from a snapshot
37
+ Flags: --snapshot, --far-snapshot, --kind, --offset, --size, --underlying-entry, --list, --recommend, --vol-view, --owns-underlying, --direction-unknown, --out-dir
38
+ - `optiondesk exposure`: dealer gamma, walls, max pain and smile geometry
39
+ Flags: --snapshot, --multiplier, --out-dir
40
+ - `optiondesk plots SYMBOL`: write chat-ready market and Greek PNG plots
41
+ Flags: --snapshot, --from-file, --data-source, --accept-data-rights, --expiry, --rate, --dividend-yield, --band, --out-dir
42
+ - `optiondesk expiries [SYMBOL]`: list available expiries and what is on disk
43
+ Flags: --provider, --out-dir
44
+ - `optiondesk compare`: every structure side by side, ranked
45
+ Flags: --snapshot, --size, --include-underlying, --far-snapshot, --rebuild, --out-dir
46
+ - `optiondesk simulate SYMBOL`: GARCH-t posterior, forward paths and tail risk
47
+ Flags: --horizon, --paths, --draws, --burn, --chains, --period, --provider, --no-structures, --out-dir
48
+ - `optiondesk backtest SYMBOL STRATEGY`: run a structure across real history, modelled premiums
49
+ Flags: --holding-days, --entry-every, --lookback, --period, --rate, --dividend-yield, --size, --provider, --out-dir
50
+ - `optiondesk forward {open,mark,close,status}`: paper ledger: open, mark, close, status
51
+ Flags: --plan, --strategy, --underlying, --id, --price, --thesis, --out-dir
52
+ - `optiondesk keys [{list,set,unset,path}] [PROVIDER]`: see, set or locate provider credentials
53
+ Flags: --value
54
+ - `optiondesk doctor`: report engine, provider and credential status
55
+ - `optiondesk dashboard`: serve the local dashboard
56
+ Flags: --host, --port, --out-dir
57
+
58
+ ## Standing rules for every runtime
59
+
60
+ Report the `degraded` flag and its reason before any number when it is true. Never substitute a default implied volatility for a contract that has none; those contracts are skipped and counted on purpose. Option premiums are model values from delayed third-party data, not tradable quotes. Nothing here is investment advice, a recommendation or a solicitation. See DISCLAIMER.md at the repository root.