aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/world/finance/market/analysis/accumulation_distribution.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/test/lux/world/finance/market/analysis/accumulation_distribution.lux31
1 files changed, 31 insertions, 0 deletions
diff --git a/stdlib/source/test/lux/world/finance/market/analysis/accumulation_distribution.lux b/stdlib/source/test/lux/world/finance/market/analysis/accumulation_distribution.lux
new file mode 100644
index 000000000..74b502140
--- /dev/null
+++ b/stdlib/source/test/lux/world/finance/market/analysis/accumulation_distribution.lux
@@ -0,0 +1,31 @@
+(.require
+ [library
+ [lux (.except)
+ [abstract
+ [monad (.only do)]]
+ [math
+ ["[0]" random (.only Random)]
+ [number
+ ["f" frac]]]
+ [test
+ ["_" property (.only Test)]]]]
+ [\\library
+ ["[0]" / (.only)
+ [////
+ [money
+ ["[0]" currency]]]]]
+ [////
+ [trade
+ ["[0]T" session]]])
+
+(def .public test
+ Test
+ (<| (_.covering /._)
+ (do [! random.monad]
+ [session (sessionT.random currency.usd)])
+ (all _.and
+ (_.coverage [/.oscillation]
+ (let [it (/.oscillation session)]
+ (and (f.<= +1.0 it)
+ (f.>= -1.0 it))))
+ )))