Documentation
¶
Overview ¶
algorithms_iterations_summary_details.go
algorithms_iterations_summary_details.go
algorithms_iterations_summary_details.go
algorithms_iterations_summary_details.go
Index ¶
- Variables
- func DumpValidatorRecorder()
- type AlgorithmIterationsSummaryDetails
- type AlgorithmSummaryTradingPositionDetails
- func (astp *AlgorithmSummaryTradingPositionDetails) Cleanup()
- func (astp *AlgorithmSummaryTradingPositionDetails) GetAlgorithmsIterationSummaryDetail(pc model.PerformanceConstraints) *AlgorithmIterationsSummaryDetails
- func (astp *AlgorithmSummaryTradingPositionDetails) RecordPerformance(ctx context.Context, signal model.StockAction, dataPoint *model.DataPoint)
- type AlgorithmsIterationsSummaryDetails
- type AlgorithmsIterationsSummaryDllAsyncDetailsImpl
- func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) AddAlgorithmIterationSummaryDetails(iterationSummaryDetails *AlgorithmIterationsSummaryDetails)
- func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) ApplyConstraints()
- func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) CleanUp()
- func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) GetAllAlgorithmsName(ctx context.Context) []algorithm.AlgorithmName
- func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) PrintAndSave(ctx context.Context)
- type AlgorithmsIterationsSummaryProcessorImpl
- type ApplyConstraintsResult
- type ClosedSummaryTradingPosition
- type IterationSummaryCalculator
- type IterationSummaryDetails
- type PerformanceManager
- type PerformanceSummaryManagerImpl
- type SummaryTradingPosition
Constants ¶
This section is empty.
Variables ¶
var AisAsyncDLLNodePool = utils.NewObjectPool[utils.DoublyLinkedNode[*AlgorithmIterationsSummaryDetails]]()
var AisAsyncDLLPool = utils.NewObjectPool[utils.DoublyLinkedList[*AlgorithmIterationsSummaryDetails]]()
var AlgorithmIterationsSummaryDetailsPool = utils.NewObjectPool[AlgorithmIterationsSummaryDetails]()
var ClosedPositionsDLLNodePool = utils.NewObjectPool[utils.DoublyLinkedNode[*ClosedSummaryTradingPosition]]()
var ClosedPositionsDLLPool = utils.NewObjectPool[utils.DoublyLinkedList[*ClosedSummaryTradingPosition]]()
var IterationSummaryCalculatorPool = utils.NewObjectPool[IterationSummaryCalculator]()
var IterationSummaryDetailsPool = utils.NewObjectPool[IterationSummaryDetails]()
var IterationSummaryDetailsPoolDLLNodePool = utils.NewObjectPool[utils.DoublyLinkedNode[*IterationSummaryDetails]]()
var IterationSummaryDetailsPoolDLLPool = utils.NewObjectPool[utils.DoublyLinkedList[*IterationSummaryDetails]]()
var OpenPositionsDLLNodePool = utils.NewObjectPool[utils.DoublyLinkedNode[*SummaryTradingPosition]]()
var OpenPositionsDLLPool = utils.NewObjectPool[utils.DoublyLinkedList[*SummaryTradingPosition]]()
Functions ¶
func DumpValidatorRecorder ¶
func DumpValidatorRecorder()
Types ¶
type AlgorithmIterationsSummaryDetails ¶
type AlgorithmIterationsSummaryDetails struct { AlgorithmIden *algorithm.AlgorithmIdentifier MaxIteration int IndecisivePositions int DecisivePositions int IterationToSummaryDetailsDLL *utils.DoublyLinkedList[*IterationSummaryDetails] }
func NewAlgorithmIterationsSummaryDetails ¶
func NewAlgorithmIterationsSummaryDetails() *AlgorithmIterationsSummaryDetails
func (*AlgorithmIterationsSummaryDetails) CleanUp ¶
func (aisd *AlgorithmIterationsSummaryDetails) CleanUp()
type AlgorithmSummaryTradingPositionDetails ¶
type AlgorithmSummaryTradingPositionDetails struct { AlgorithmIden *algorithm.AlgorithmIdentifier OpenPositions *utils.DoublyLinkedList[*SummaryTradingPosition] OpenBuyPositions *utils.DoublyLinkedList[*SummaryTradingPosition] OpenSellPositions *utils.DoublyLinkedList[*SummaryTradingPosition] ClosedPositions *utils.DoublyLinkedList[*ClosedSummaryTradingPosition] // contains filtered or unexported fields }
AlgorithmSummaryTradingPositionDetails holds open and closed trading positions for an algorithm.
func NewAlgorithmSummaryTradingPositionDetails ¶
func NewAlgorithmSummaryTradingPositionDetails(algoName *algorithm.AlgorithmIdentifier, pc model.PerformanceConstraints) *AlgorithmSummaryTradingPositionDetails
func (*AlgorithmSummaryTradingPositionDetails) Cleanup ¶
func (astp *AlgorithmSummaryTradingPositionDetails) Cleanup()
Cleanup releases all resources associated with the AlgorithmSummaryTradingPositionDetails instance.
func (*AlgorithmSummaryTradingPositionDetails) GetAlgorithmsIterationSummaryDetail ¶
func (astp *AlgorithmSummaryTradingPositionDetails) GetAlgorithmsIterationSummaryDetail(pc model.PerformanceConstraints) *AlgorithmIterationsSummaryDetails
func (*AlgorithmSummaryTradingPositionDetails) RecordPerformance ¶
func (astp *AlgorithmSummaryTradingPositionDetails) RecordPerformance(ctx context.Context, signal model.StockAction, dataPoint *model.DataPoint)
RecordPerformance records the performance of an algorithm by handling new positions and updating open positions.
type AlgorithmsIterationsSummaryDetails ¶
type AlgorithmsIterationsSummaryDetails interface { AddAlgorithmIterationSummaryDetails(iterationSummaryDetails *AlgorithmIterationsSummaryDetails) ApplyConstraints() GetAllAlgorithmsName(ctx context.Context) []algorithm.AlgorithmName PrintAndSave(ctx context.Context) CleanUp() }
func NewAlgorithmsIterationsSummaryDllAsyncDetails ¶
func NewAlgorithmsIterationsSummaryDllAsyncDetails(pc model.PerformanceConstraints, adaptorType string, generator algoutil.AlgoGenerator) AlgorithmsIterationsSummaryDetails
func NewAlgorithmsIterationsSummaryDllAsyncDetailsWithLogger ¶
func NewAlgorithmsIterationsSummaryDllAsyncDetailsWithLogger(pc model.PerformanceConstraints, adaptorType string, generator algoutil.AlgoGenerator, log logger.LoggerInterface) AlgorithmsIterationsSummaryDetails
type AlgorithmsIterationsSummaryDllAsyncDetailsImpl ¶
type AlgorithmsIterationsSummaryDllAsyncDetailsImpl struct { Pc model.PerformanceConstraints AlgorithmIterationsSummaryDll *utils.DoublyLinkedList[*AlgorithmIterationsSummaryDetails] AlgorithmIterationsSummary map[string]*AlgorithmIterationsSummaryDetails ProcessedAlgorithmNames []algorithm.AlgorithmName ProcessedAlgorithmCount int TotalConsidered int FiltrationTrigger int // contains filtered or unexported fields }
func (*AlgorithmsIterationsSummaryDllAsyncDetailsImpl) AddAlgorithmIterationSummaryDetails ¶
func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) AddAlgorithmIterationSummaryDetails(iterationSummaryDetails *AlgorithmIterationsSummaryDetails)
func (*AlgorithmsIterationsSummaryDllAsyncDetailsImpl) ApplyConstraints ¶
func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) ApplyConstraints()
func (*AlgorithmsIterationsSummaryDllAsyncDetailsImpl) CleanUp ¶
func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) CleanUp()
func (*AlgorithmsIterationsSummaryDllAsyncDetailsImpl) GetAllAlgorithmsName ¶
func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) GetAllAlgorithmsName(ctx context.Context) []algorithm.AlgorithmName
func (*AlgorithmsIterationsSummaryDllAsyncDetailsImpl) PrintAndSave ¶
func (ais *AlgorithmsIterationsSummaryDllAsyncDetailsImpl) PrintAndSave(ctx context.Context)
type AlgorithmsIterationsSummaryProcessorImpl ¶
type AlgorithmsIterationsSummaryProcessorImpl struct { Pc model.PerformanceConstraints AlgorithmIterationsSummaryDll *utils.DoublyLinkedList[*AlgorithmIterationsSummaryDetails] ProcessedAlgorithmNames []algorithm.AlgorithmName ProcessedAlgorithmCount int TotalConsidered int // contains filtered or unexported fields }
func NewAlgorithmsIterationsSummaryProcessor ¶
func NewAlgorithmsIterationsSummaryProcessor(pc model.PerformanceConstraints, adaptorType string, generator algoutil.AlgoGenerator) *AlgorithmsIterationsSummaryProcessorImpl
func NewAlgorithmsIterationsSummaryProcessorWithLogger ¶
func NewAlgorithmsIterationsSummaryProcessorWithLogger(pc model.PerformanceConstraints, adaptorType string, generator algoutil.AlgoGenerator, log logger.LoggerInterface, adch gr_variable.ReadOnlyGrChannel[*AlgorithmIterationsSummaryDetails]) *AlgorithmsIterationsSummaryProcessorImpl
func (*AlgorithmsIterationsSummaryProcessorImpl) CleanUp ¶
func (ais *AlgorithmsIterationsSummaryProcessorImpl) CleanUp()
func (*AlgorithmsIterationsSummaryProcessorImpl) FinishProcessing ¶
func (ais *AlgorithmsIterationsSummaryProcessorImpl) FinishProcessing()
func (*AlgorithmsIterationsSummaryProcessorImpl) ProcessAlgorithmIterationSummaryDetails ¶
func (ais *AlgorithmsIterationsSummaryProcessorImpl) ProcessAlgorithmIterationSummaryDetails()
type ApplyConstraintsResult ¶
type ApplyConstraintsResult int
const ( FAIL_APPLY_CONSTRAINTS ApplyConstraintsResult = iota + 1 PASS_APPLY_CONSTRAINTS PROCESSED_APPLY_CONSTRAINTS )
type ClosedSummaryTradingPosition ¶
type ClosedSummaryTradingPosition struct { EntryPoint *model.DataPoint ExitPoint *model.DataPoint Signal model.StockAction TotalIterations int Profit float64 ProfitPercentage float64 }
func (*ClosedSummaryTradingPosition) CleanUp ¶
func (cst *ClosedSummaryTradingPosition) CleanUp()
type IterationSummaryCalculator ¶
type IterationSummaryCalculator struct {
// contains filtered or unexported fields
}
func NewIterationSummaryCalculator ¶
func NewIterationSummaryCalculator() *IterationSummaryCalculator
NewIterationSummaryCalculator creates a new IterationSummaryCalculator.
func (*IterationSummaryCalculator) Add ¶
func (isc *IterationSummaryCalculator) Add(position *ClosedSummaryTradingPosition)
Add function adds or updates an IterationSummaryDetails at a specific position.TotalIterations.
func (*IterationSummaryCalculator) CleanUp ¶
func (isc *IterationSummaryCalculator) CleanUp()
func (*IterationSummaryCalculator) Data ¶
func (isc *IterationSummaryCalculator) Data() *utils.DoublyLinkedList[*IterationSummaryDetails]
Data returns a linked list of non-null IterationSummaryDetails, updating cumulative metrics, averages, and rates.
func (*IterationSummaryCalculator) MaxIteration ¶
func (isc *IterationSummaryCalculator) MaxIteration() int
MaxIteration returns the maximum iteration number that has data.
type IterationSummaryDetails ¶
type IterationSummaryDetails struct { IterationNumber int Trades int Wins int Loses int TotalProfitPercentage float64 AverageProfitPercentage float64 MaxProfitPercentage float64 MinProfitPercentage float64 WinRate float64 LossRate float64 }
func NewIterationSummaryDetails ¶
func NewIterationSummaryDetails(in int) *IterationSummaryDetails
func (*IterationSummaryDetails) CleanUp ¶
func (isd *IterationSummaryDetails) CleanUp()
type PerformanceManager ¶
type PerformanceManager interface { RecordPerformance(ctx context.Context, algoName string, signal *model.TradingSignal, dataPoint model.DataPoint) GetAlgorithmsIterationSummaryDetails(pc model.PerformanceConstraints) AlgorithmsIterationsSummaryDetails }
func NewPerformanceSummaryManager ¶
func NewPerformanceSummaryManager(algorithmsIterationsSummaryDetails AlgorithmsIterationsSummaryDetails, pc model.PerformanceConstraints) PerformanceManager
NewPerformanceSummaryManager creates and returns a new PerformanceSummaryManagerImpl.
type PerformanceSummaryManagerImpl ¶
type PerformanceSummaryManagerImpl struct {
// contains filtered or unexported fields
}
func (*PerformanceSummaryManagerImpl) GetAlgorithmsIterationSummaryDetails ¶
func (pm *PerformanceSummaryManagerImpl) GetAlgorithmsIterationSummaryDetails(pc model.PerformanceConstraints) AlgorithmsIterationsSummaryDetails
func (*PerformanceSummaryManagerImpl) RecordPerformance ¶
func (pm *PerformanceSummaryManagerImpl) RecordPerformance(ctx context.Context, algoName string, signal *model.TradingSignal, dataPoint model.DataPoint)
RecordPerformance records the performance of an algorithm by handling new positions and updating open positions.
type SummaryTradingPosition ¶
type SummaryTradingPosition struct { EntryPoint *model.DataPoint Signal model.StockAction IterationNumber int }
func (*SummaryTradingPosition) CleanUp ¶
func (stp *SummaryTradingPosition) CleanUp()