Skip to content

Commit

Permalink
Update logs
Browse files Browse the repository at this point in the history
  • Loading branch information
nagakingg committed Jul 7, 2023
1 parent 3bd5264 commit d74df49
Show file tree
Hide file tree
Showing 9 changed files with 69 additions and 22 deletions.
2 changes: 1 addition & 1 deletion curvesim/iterators/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
Iterators fall into two general categories:
1. :mod:`.param_samplers`:
Generate pool with updated parameters per tick.
Generate pools with updated parameters per run.
2. :mod:`.price_samplers`:
Generate price, volume, and/or other time-series data per tick.
"""
12 changes: 10 additions & 2 deletions curvesim/iterators/param_samplers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
"""
Iterators that generate pools with updated parameters per simulation run.
Iterators that generate pools with updated parameters for each simulation run.
"""

__all__ = [
"Grid",
"CurvePoolGrid",
"CurveMetaPoolGrid",
"CurveCryptoPoolGrid",
"get_param_sampler",
]

from curvesim.pool.sim_interface import SimCurvePool, SimCurveRaiPool, SimCurveMetaPool
from .grid import CurvePoolGrid, CurveMetaPoolGrid
from .grid import Grid, CurvePoolGrid, CurveMetaPoolGrid, CurveCryptoPoolGrid


pool_param_sampler_map = {
Expand Down
12 changes: 12 additions & 0 deletions curvesim/iterators/param_samplers/grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,24 @@ def make_parameter_sequence(self, variable_params):


class CurvePoolGrid(Grid, CurvePoolMixin):
"""
:class:`Grid` parameter sampler specialized for Curve pools.
"""

pass


class CurveMetaPoolGrid(Grid, CurveMetaPoolMixin):
"""
:class:`Grid` parameter sampler specialized for Curve meta-pools.
"""

pass


class CurveCryptoPoolGrid(Grid, CurveCryptoPoolMixin):
"""
:class:`Grid` parameter sampler specialized for Curve meta-pools.
"""

pass
4 changes: 2 additions & 2 deletions curvesim/iterators/price_samplers/price_volume.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from curvesim.logging import get_logger
from curvesim.price_data import get
from curvesim.templates.price_sampler import PriceSample, PriceSampler
from curvesim.templates.price_samplers import PriceSample, PriceSampler
from curvesim.utils import dataclass, override

logger = get_logger(__name__)
Expand Down Expand Up @@ -64,7 +64,7 @@ def __iter__(self) -> PriceVolumeSample:
"""
Yields
-------
class:`PriceVolumeSample`
:class:`PriceVolumeSample`
"""
for price_row, volume_row in zip(
self.prices.iterrows(), self.volumes.iterrows()
Expand Down
4 changes: 2 additions & 2 deletions curvesim/templates/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"PriceSampler",
]

from .param_sampler import DynamicParameterSampler, SequentialParameterSampler
from .price_sampler import PriceSample, PriceSampler
from .param_samplers import DynamicParameterSampler, SequentialParameterSampler
from .price_samplers import PriceSample, PriceSampler
from .sim_assets import SimAssets
from .sim_pool import SimPool
from .strategy import Strategy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ def set_pool_attributes(self, pool, attribute_dict):
"""
Sets the pool attributes defined in attribute_dict.
Supports setting attributes with setattr(pool, key, value) or specialized
setters defined in the 'setters' property:
Supports setting attributes with :python:`setattr(pool, key, value)` or
specialized setters defined in the 'setters' property:
:python:`self.setters[key](pool, value)`
For metapools, basepool parameters can be referenced by appending "_base" to
Expand Down Expand Up @@ -76,8 +76,8 @@ def _set_pool_attribute(self, pool, attr, value):
"""
Sets a single pool attribute.
Supports setting attributes with setattr(pool, attr, value) or specialized
setters defined in the 'setters' property:
Supports setting attributes with :python:`setattr(pool, attr, value)` or
specialized setters defined in the 'setters' property:
:python:`self.setters[attr](pool, value)`
Parameters
Expand Down Expand Up @@ -109,6 +109,10 @@ def _set_pool_attribute(self, pool, attr, value):


class SequentialParameterSampler(ParameterSampler):
"""
Parameter sampler that yields pools using a fixed sequence of parameters.
"""

def __init__(self, pool, variable_params, fixed_params=None):
"""
Parameters
Expand All @@ -119,22 +123,19 @@ def __init__(self, pool, variable_params, fixed_params=None):
variable_params: dict
Pool parameters to vary across simulations.
Keys: pool parameters, Values: iterable of values
For metapools, basepool parameters can be referenced by appending "_base" to
an attribute's name.
Keys are parameter names and values are iterables of values. For metapools,
basepool parameters can be referenced by appending "_base" to an attribute
name.
Example
-------
--------
.. code-block ::
{"A": [100, 1000], "basepool": {fee: [10**6, 4*10**6]}}
{"A": [100, 1000], "fee_base": [10**6, 4*10**6]}
fixed_params : dict, optional
Pool parameters set before all simulations.
Keys: pool parameters, Values: single values
"""
self.pool_template = deepcopy(pool)
self.set_pool_attributes(self.pool_template, fixed_params)
Expand All @@ -144,7 +145,7 @@ def __iter__(self):
"""
Yields
-------
pool : pool object
pool : :class:`~curvesim.templates.SimPool`
A pool object with the current variable parameters set.
params : dict
Expand Down Expand Up @@ -175,5 +176,9 @@ def make_parameter_sequence(self, variable_params):


class DynamicParameterSampler(ParameterSampler):
"""
Parameter sampler that selects parameters dynamically based on simulation results.
"""

def __init__(self):
raise NotImplementedError
File renamed without changes.
26 changes: 24 additions & 2 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,32 @@ Iterators
------------------
.. automodule:: curvesim.iterators.param_samplers

Abstract
^^^^^^^^^
.. autoclass:: curvesim.templates.param_samplers.ParameterSampler
:members:
:special-members: __iter__

.. autoclass:: curvesim.templates.param_samplers.SequentialParameterSampler
:special-members: __iter__
:inherited-members:

Concrete
^^^^^^^^^
.. autoclass:: curvesim.iterators.param_samplers.Grid
:special-members: __iter__
:inherited-members:

.. autoclass:: curvesim.iterators.param_samplers.CurvePoolGrid
:exclude-members: __new__

.. autoclass:: curvesim.iterators.param_samplers.CurveMetaPoolGrid
:exclude-members: __new__

.. autoclass:: curvesim.iterators.param_samplers.CurveCryptoPoolGrid
:exclude-members: __new__


Price Samplers
--------------

Expand All @@ -167,11 +189,11 @@ Iterators
Abstract
^^^^^^^^^

.. autoclass:: curvesim.templates.samplers.PriceSampler
.. autoclass:: curvesim.templates.price_samplers.PriceSampler
:members:
:special-members: __iter__

.. autoclass:: curvesim.templates.samplers.PriceSample
.. autoclass:: curvesim.templates.price_samplers.PriceSample
:members:
:exclude-members: __init__, __new__

Expand Down
Empty file added docs/logs/20230518.log
Empty file.

0 comments on commit d74df49

Please sign in to comment.