mypo.trigger package

Submodules

mypo.trigger.always_trigger module

Rebalance strategies.

class mypo.trigger.always_trigger.AlwaysTrigger

Bases: mypo.trigger.base_trigger.BaseTrigger

Always fire trigger.

is_fire(at: datetime.datetime, market: mypo.market.Market, assets: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray], cash: numpy.float64, weights: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray])bool

Apply rebalance strategy to current situation.

Parameters
  • at – Current date for applying rebalance.

  • market – Market.

  • assets – Current assets for applying rebalance.

  • cash – Current cash for applying rebalance.

  • weights – Weights of assets.

Returns

Deal

mypo.trigger.base_trigger module

Rebalance strategies.

class mypo.trigger.base_trigger.BaseTrigger

Bases: object

Weighted rebalance strategy by monthly applying.

is_fire(at: datetime.datetime, market: mypo.market.Market, assets: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray], cash: numpy.float64, weights: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray])bool

Apply rebalance strategy to current situation.

Parameters
  • at – Current date for applying rebalance.

  • market – Market.

  • assets – Current assets for applying rebalance.

  • cash – Current cash for applying rebalance.

  • weights – Weights of assets.

Returns

Deal

mypo.trigger.monthly_trigger module

Rebalance strategies.

class mypo.trigger.monthly_trigger.MonthlyTrigger(old_month: int = 0)

Bases: mypo.trigger.base_trigger.BaseTrigger

Weighted rebalance strategy by monthly applying.

is_fire(at: datetime.datetime, market: mypo.market.Market, assets: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray], cash: numpy.float64, weights: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray])bool

Apply rebalance strategy to current situation.

Parameters
  • at – Current date for applying rebalance.

  • market – Market.

  • assets – Current assets for applying rebalance.

  • cash – Current cash for applying rebalance.

  • weights – Weights of assets.

Returns

Deal

mypo.trigger.no_trigger module

Rebalance strategies.

class mypo.trigger.no_trigger.NoTrigger

Bases: mypo.trigger.base_trigger.BaseTrigger

Never fire trigger.

is_fire(at: datetime.datetime, market: mypo.market.Market, assets: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray], cash: numpy.float64, weights: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray])bool

Apply rebalance strategy to current situation.

Parameters
  • at – Current date for applying rebalance.

  • market – Market.

  • assets – Current assets for applying rebalance.

  • cash – Current cash for applying rebalance.

  • weights – weights of assets

Returns

Deal

mypo.trigger.threshold_trigger module

Rebalance strategies.

class mypo.trigger.threshold_trigger.ThresholdTrigger(threshold: numpy.float64 = 0.05)

Bases: mypo.trigger.base_trigger.BaseTrigger

Weighted rebalance strategy by monthly applying.

is_fire(at: datetime.datetime, market: mypo.market.Market, assets: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray], cash: numpy.float64, weights: Union[int, float, complex, str, bytes, numpy.generic, Sequence[Union[int, float, complex, str, bytes, numpy.generic]], Sequence[Sequence[Any]], numpy.typing._array_like._SupportsArray])bool

Apply rebalance strategy to current situation.

Parameters
  • at – Current date for applying rebalance.

  • market – Market.

  • assets – Current assets for applying rebalance.

  • cash – Current cash for applying rebalance.

  • weights – Weights of assets.

Returns

Deal

Module contents