aboutsummaryrefslogtreecommitdiff
path: root/backend/internal/analyzer/analyzer.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/internal/analyzer/analyzer.go')
-rw-r--r--backend/internal/analyzer/analyzer.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/backend/internal/analyzer/analyzer.go b/backend/internal/analyzer/analyzer.go
new file mode 100644
index 0000000..c055647
--- /dev/null
+++ b/backend/internal/analyzer/analyzer.go
@@ -0,0 +1,32 @@
+package analyzer
+
+import (
+ "context"
+
+ "github.com/Rhymond/go-money"
+)
+
+type Analyzer interface {
+ Analyze(
+ ctx context.Context,
+ symbol string,
+ price *money.Money,
+ rawAnalysis string,
+ ) (*Analysis, error)
+}
+
+type ChartAction string
+
+const (
+ Buy ChartAction = "buy"
+ Sell ChartAction = "sell"
+ Hold ChartAction = "hold"
+ Unknown ChartAction = "unknown"
+)
+
+type Analysis struct {
+ Action ChartAction
+ Price *money.Money
+ Reason string
+ Confidence uint8
+}