0xPlaygrounds / 0xPlaygrounds/subgrounds

Timeseries Support

Abierto
#7 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Python
Estrellas
73
Forks
12
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

**Is your feature request related to a problem? Please describe.**
## Description
Given a subgrounds fieldpath(s) representing a list of entities, then it should be possible to wrap those fieldpaths in a timeseries which would normalize the data according to time key, interval, aggregation method and interpolation method.

Supported intervals (to start):

* hourly
* daily
* weekly
* monthly

Supported aggregation methods:

* mean
* sum
* first
* last
* median
* min
* max
* count

Supported interpolation methods:

* backward fill (use next value to fill in missing value)
* forward fill (use previous value to fill in missing value)

**Describe the solution you'd like**
```python
sg = Subgrounds()
uniswapV2 = sg.load_subgraph("https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2")

Swap.price0 = abs(Swap.amount1In - Swap.amount1Out) / abs(Swap.amount0In - Swap.amount0Out)
Swap.price1 = abs(Swap.amount0In - Swap.amount0Out) / abs(Swap.amount1In - Swap.amount1Out)

swaps = uniswapV2.Query.swaps(
orderBy=Swap.timestamp,
orderDirection='desc',
first=500,
)

price0_hourly_close = Timeseries(
x=swaps.timestamp,
y=swaps.price0,
interval='hour',
aggregation='last',
interpolation='ffill'
)
```

*Originally from: cvauclair*

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

The issue proposes a new Timeseries class to wrap Subgrounds fieldpaths. Start by examining the existing Subgrounds codebase to understand how fieldpaths and data fetching work. Look for existing data transformation or normalization modules. The implementation will require designing the Timeseries class, handling time intervals, aggregation methods, and interpolation. Check if there are similar data processing patterns in the code. 'Done' means the Timeseries class works as shown in the example, producing normalized time series data from GraphQL queries.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
graphql, pandas, python
Área
backend-api-design, data, data-engineering
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.