nlalpha-strategy
Strategy authoring package for the NLAlpha family. It discovers installed strategy families, publishes their current capabilities, and validates strategy specifications against the selected family contract.
Agent guidance
The package skill owns the general authoring workflow and business semantics. It does not replace the current family contract or execute a backtest. Before writing a strategy, discover the installed family and read its current about and full confess guidance; those descriptions own concrete implementation requirements. The App skill does not establish that a family or execution path is available in a particular deployment.
Preserve the user's entry, holding, exit, timing, sizing, cost, and risk rules. A state such as MA20 > MA60 is distinct from an upward cross such as prev_fast <= prev_slow and curr_fast > curr_slow. Rule checking and mock validation have limited scope and do not establish profitability or real-data suitability.
After basic request and non-empty-code checks, validate_spec applies the shared AstValidator policy before checking family helper bindings and AST-level strategy rules. The same forbidden-import and forbidden-call policy is used at execution, so a static pass cannot mask code the sandbox will reject. Family helper calls must use the binding shown by the current contract; for Vector, helpers are self methods, not standalone imports or bare names. A static pass still does not execute the strategy or prove its behavior on a real dataset.
App responsibilities are split across three skills: strategy authoring preserves and implements trading intent, data readiness checks the requested market data and time semantics, and backtest execution selects a supported path, runs authorized work, and evaluates its actual result. The shared App rules set stable identity, evidence, privacy, and reporting boundaries; they do not duplicate each skill's procedure.
Self-description and skills
about() describes the service or a selected family from the cached FamilyContract; confess() returns supplementary family notes separately. list_families() returns available_families, installed families, and diagnostics. list_skills(language="en") returns the packaged skill catalog with the requested language, all available languages, and each skill's name, title, description, revision, and content SHA-256; call load_skill(name="strategy-authoring", language="en") to read one skill in one language. Shared principles are obtained from the principles section of an available service about description and may be reused while its revision remains unchanged. The core package holds the canonical skill files; this service exposes them at runtime.
Description revision and canonical skills
Service and family descriptions use schema nlalpha.description.v1, include installed package version and available sections, and identify their complete canonical content with description_revision. A section request and a full request share the same revision. Shared principles are supplied from the core resource; confess() returns family-specific notes and does not duplicate them. list_skills(language="en") lists packaged skills without reading their full text, and load_skill(name, language="en") reads one language variant at a time; English is canonical and Chinese is its maintained translation. Runtime versions come from distribution metadata, not source constants.
License
nlalpha-strategy is a community distribution under AGPL-3.0-or-later. Platform-owned ai_rules, private enhancements, and third-party dependencies are outside this package license scope.
Container image
The public service image installs a non-editable wheel closure on Python 3.12 slim. Platform integration images are assembled separately from the platform root and its enhanced lock; Rust is not part of this service's runtime. The image exposes the strategy MCP service, and runtime configuration is supplied by the host deployment.
Metadata
Release files for nlalpha-strategy 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nlalpha_strategy-0.2.0.tar.gz | 26.9 kB | Without provenance | Details for nlalpha_strategy-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nlalpha_strategy-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for nlalpha_strategy-0.2.0-py3-none-any.whl |
Total release size: 53.8 kB
Release files / nlalpha_strategy-0.2.0.tar.gz
| Download URL | nlalpha_strategy-0.2.0.tar.gz |
|---|---|
| Size | 26.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df2a06bee85fd5f04c2e5d9b35ba8a0333eeebaff9a0b69f54d5e2ccbccc70c2
|
|
BLAKE2b-256 checksum How to use checksums |
0e9976d325c031e98a89b88da350f3070b22e6b7e2815f883d11dbe9eafdc79c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / nlalpha_strategy-0.2.0-py3-none-any.whl
| Download URL | nlalpha_strategy-0.2.0-py3-none-any.whl |
|---|---|
| Size | 26.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ecbe6e792d86d448d39d2de47528a614c723f3357598332f5fe9ff70a6bdeea
|
|
BLAKE2b-256 checksum How to use checksums |
6f45c0fa4a1bf25d5a5e4d4709f390581d5ddbcc8234d5fab66921c1c018e831
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Security for nlalpha-strategy 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.