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()