@yottagraph-app/data-model-skill 0.0.11 → 0.0.13

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yottagraph-app/data-model-skill",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Data model skill documentation for AI agents - entity types, properties, and schemas from Lovelace fetch sources",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1924,3 +1924,61 @@ attributes:
1924
1924
  description: "Fiscal period: FY (annual), Q1, Q2, Q3 (quarterly)"
1925
1925
  display_name: "Filing Period"
1926
1926
  mergeability: not_mergeable
1927
+
1928
+ # ── holds_position relationship attributes (13F-HR) ──
1929
+
1930
+ - property: "holds_position"
1931
+ name: "position_value"
1932
+ type: string
1933
+ description: "Market value of the position in thousands of USD"
1934
+ display_name: "Position Value"
1935
+ mergeability: not_mergeable
1936
+
1937
+ - property: "holds_position"
1938
+ name: "shares_held"
1939
+ type: string
1940
+ description: "Number of shares or principal amount held"
1941
+ display_name: "Shares Held"
1942
+ mergeability: not_mergeable
1943
+
1944
+ - property: "holds_position"
1945
+ name: "instrument_type"
1946
+ type: string
1947
+ description: "Type of instrument: SH (shares) or PRN (principal amount)"
1948
+ display_name: "Instrument Type"
1949
+ mergeability: not_mergeable
1950
+
1951
+ - property: "holds_position"
1952
+ name: "put_call"
1953
+ type: string
1954
+ description: "Option type if applicable: PUT or CALL"
1955
+ display_name: "Put/Call"
1956
+ mergeability: not_mergeable
1957
+
1958
+ - property: "holds_position"
1959
+ name: "investment_discretion"
1960
+ type: string
1961
+ description: "Investment discretion: SOLE, SHARED, or DEFINED"
1962
+ display_name: "Investment Discretion"
1963
+ mergeability: not_mergeable
1964
+
1965
+ - property: "holds_position"
1966
+ name: "voting_authority_sole"
1967
+ type: string
1968
+ description: "Shares with sole voting authority"
1969
+ display_name: "Voting Authority (Sole)"
1970
+ mergeability: not_mergeable
1971
+
1972
+ - property: "holds_position"
1973
+ name: "voting_authority_shared"
1974
+ type: string
1975
+ description: "Shares with shared voting authority"
1976
+ display_name: "Voting Authority (Shared)"
1977
+ mergeability: not_mergeable
1978
+
1979
+ - property: "holds_position"
1980
+ name: "voting_authority_none"
1981
+ type: string
1982
+ description: "Shares with no voting authority"
1983
+ display_name: "Voting Authority (None)"
1984
+ mergeability: not_mergeable
@@ -2,9 +2,9 @@
2
2
 
3
3
  ## Source Overview
4
4
 
5
- Alpha Vantage stock market data via the `TIME_SERIES_DAILY` REST API. Provides daily OHLCV (open, high, low, close, volume) candlestick data for US-listed equities on NYSE, NASDAQ, and AMEX exchanges.
5
+ Alpha Vantage stock market data via the `TIME_SERIES_DAILY` and `TIME_SERIES_INTRADAY` REST APIs. Provides daily and 15-minute OHLCV (open, high, low, close, volume) candlestick data for US-listed equities on NYSE, NASDAQ, and AMEX exchanges.
6
6
 
7
- Historical data available via `outputsize=full` (20+ years). Recent data (last 100 trading days) available via `outputsize=compact`. The streamer uses `full` for initial backfill and `compact` for daily incremental updates.
7
+ Historical data uses daily candles: `outputsize=full` (20+ years) for initial backfill, `outputsize=compact` (last 100 trading days) for incremental catch-ups. Current-day data uses intraday candles at 15-minute intervals (15-min delayed). The streamer automatically handles both: daily backfill when needed, plus intraday polling every 15 minutes.
8
8
 
9
9
  Symbol universe: ~6,900 tickers (after filtering preferred stock symbols) sourced from the NASDAQ screener (static CSV, downloaded 2026-03-13). Symbols containing `^` (preferred shares) are excluded because Alpha Vantage does not support them.
10
10
 
@@ -12,7 +12,7 @@ Rate limit: 1,200 requests/minute (premium plan). Downloads run concurrently (10
12
12
 
13
13
  | Pipeline | `Record.Source` |
14
14
  |----------|----------------|
15
- | Daily OHLCV | `stocks` |
15
+ | Daily + Intraday OHLCV | `stocks` |
16
16
 
17
17
  ---
18
18
 
@@ -68,32 +68,32 @@ A company or entity whose equity securities are publicly traded on a US exchange
68
68
  * Examples: `"Computer Manufacturing"`, `"Biotechnology: Laboratory Analytical Instruments"`
69
69
  * Derivation: `industry` field from the NASDAQ screener CSV. May be empty.
70
70
 
71
- #### Price Data (per daily candle)
71
+ #### Price Data (per candle)
72
72
 
73
- Each record represents one daily OHLCV candlestick for a single security. The atom timestamp is the trading day's date (Eastern time, converted to UTC).
73
+ Each record represents one OHLCV candlestick for a single security. For daily candles the timestamp is the trading day's date; for intraday candles it is the interval's start time. All timestamps are Eastern time, converted to UTC.
74
74
 
75
75
  * `open_price`
76
- * Definition: Opening price of the trading day. Unit: USD.
76
+ * Definition: Opening price of the trading interval. Unit: USD.
77
77
  * Examples: `233.55`, `247.10`
78
- * Derivation: `1. open` field from Alpha Vantage `Time Series (Daily)` response, parsed as float.
78
+ * Derivation: `1. open` field from Alpha Vantage time series response, parsed as float.
79
79
 
80
80
  * `high_price`
81
- * Definition: Highest price reached during the trading day. Unit: USD.
81
+ * Definition: Highest price reached during the trading interval. Unit: USD.
82
82
  * Examples: `234.00`, `250.05`
83
83
  * Derivation: `2. high` field from Alpha Vantage response, parsed as float.
84
84
 
85
85
  * `low_price`
86
- * Definition: Lowest price reached during the trading day. Unit: USD.
86
+ * Definition: Lowest price reached during the trading interval. Unit: USD.
87
87
  * Examples: `233.00`, `245.64`
88
88
  * Derivation: `3. low` field from Alpha Vantage response, parsed as float.
89
89
 
90
90
  * `close_price`
91
- * Definition: Closing price of the trading day. Unit: USD.
91
+ * Definition: Closing price of the trading interval. Unit: USD.
92
92
  * Examples: `233.50`, `247.68`
93
93
  * Derivation: `4. close` field from Alpha Vantage response, parsed as float.
94
94
 
95
95
  * `trading_volume`
96
- * Definition: Number of shares traded during the day. Unit: shares.
96
+ * Definition: Number of shares traded during the interval. Unit: shares.
97
97
  * Examples: `1858`, `5547724`
98
98
  * Derivation: `5. volume` field from Alpha Vantage response, parsed as integer (stored as float per v2 convention).
99
99
 
@@ -118,5 +118,5 @@ organization ──[traded_as]──→ financial_instrument
118
118
  - **Timestamps**: Alpha Vantage returns timestamps in US/Eastern time. All atom timestamps are converted to UTC before storage.
119
119
  - **Adjusted prices**: The daily endpoint returns raw (as-traded) prices. Split/dividend-adjusted data is available via `TIME_SERIES_DAILY_ADJUSTED` (premium) but is not currently used.
120
120
  - **Missing data**: Not all symbols have data for all dates. Candles only exist for days with trading activity.
121
- - **Streaming model**: HandleStream runs as a continuous polling loop. First run downloads full history (`outputsize=full`). Subsequent runs download compact data (`outputsize=compact`, last 100 trading days) and atomize only candles newer than the checkpoint. Default poll interval: 24 hours.
121
+ - **Streaming model**: HandleStream runs as a unified polling loop (default: every 15 minutes). First run downloads full daily history (`outputsize=full`) plus current-day intraday data. Subsequent runs download compact daily data once per day to catch yesterday's close, then poll intraday data every 15 minutes. Only candles newer than the checkpoint are atomized.
122
122
  - **Preferred stock symbols**: Tickers containing `^` (e.g., `AHT^F`, `F^C`) are filtered out during symbol loading because Alpha Vantage returns empty responses for them.
@@ -7,7 +7,7 @@
7
7
  # All elements are passive -- created by the atomizer from structured JSON
8
8
  # fields, not by LLM extraction.
9
9
  name: "stocks"
10
- description: "US equity OHLCV price data from Alpha Vantage, covering NYSE, NASDAQ, and AMEX listed securities at 15-minute and daily intervals"
10
+ description: "US equity OHLCV price data from Alpha Vantage, covering NYSE, NASDAQ, and AMEX listed securities. Daily candles for historical data, 15-minute intraday candles for current-day data."
11
11
 
12
12
  extraction:
13
13
  flavors: closed
@@ -129,3 +129,43 @@ relationships:
129
129
  target_flavors: ["financial_instrument"]
130
130
  examples: ["Apple Inc. traded as AAPL", "International Business Machines Corporation traded as IBM"]
131
131
  passive: true
132
+
133
+ # Each price and volume atom carries a candle_interval attribute indicating
134
+ # the time period it covers. Only representative entries are listed; the
135
+ # attribute is added dynamically by the atomizer to all price/volume atoms.
136
+
137
+ attributes:
138
+ - property: "open_price"
139
+ name: "candle_interval"
140
+ type: string
141
+ description: "Time period covered by this candle: '1day' for daily end-of-day, '15min'/'5min'/'1min' for intraday"
142
+ display_name: "Candle Interval"
143
+ mergeability: not_mergeable
144
+
145
+ - property: "high_price"
146
+ name: "candle_interval"
147
+ type: string
148
+ description: "Time period covered by this candle: '1day' for daily end-of-day, '15min'/'5min'/'1min' for intraday"
149
+ display_name: "Candle Interval"
150
+ mergeability: not_mergeable
151
+
152
+ - property: "low_price"
153
+ name: "candle_interval"
154
+ type: string
155
+ description: "Time period covered by this candle: '1day' for daily end-of-day, '15min'/'5min'/'1min' for intraday"
156
+ display_name: "Candle Interval"
157
+ mergeability: not_mergeable
158
+
159
+ - property: "close_price"
160
+ name: "candle_interval"
161
+ type: string
162
+ description: "Time period covered by this candle: '1day' for daily end-of-day, '15min'/'5min'/'1min' for intraday"
163
+ display_name: "Candle Interval"
164
+ mergeability: not_mergeable
165
+
166
+ - property: "trading_volume"
167
+ name: "candle_interval"
168
+ type: string
169
+ description: "Time period covered by this candle: '1day' for daily end-of-day, '15min'/'5min'/'1min' for intraday"
170
+ display_name: "Candle Interval"
171
+ mergeability: not_mergeable