diff --git a/ta_lib/momentum/src/lib.rs b/ta_lib/momentum/src/lib.rs
index 30d9badc..aeac9b68 100644
--- a/ta_lib/momentum/src/lib.rs
+++ b/ta_lib/momentum/src/lib.rs
@@ -1,3 +1,4 @@
pub mod aosc;
pub mod macd;
pub mod rsi;
+pub mod stochosc;
diff --git a/ta_lib/momentum/src/stochosc.rs b/ta_lib/momentum/src/stochosc.rs
new file mode 100644
index 00000000..cfe4cf3c
--- /dev/null
+++ b/ta_lib/momentum/src/stochosc.rs
@@ -0,0 +1,57 @@
+use overlap::sma::sma;
+use utils::stoch::stoch;
+
+pub fn stochosc(
+ high: &[f64],
+ low: &[f64],
+ close: &[f64],
+ period: usize,
+ k_period: usize,
+ d_period: usize,
+) -> (Vec