Platform
Resources
Pricing
Sign in
Get started
Homer White
Professor of Mathematics and Computer Science at a small liberal arts college in Kentucky, USA.
Workspace
Fork
Public
By
Homer White
Edited
Nov 11, 2023
1
Insert cell
Insert cell
allStocks
=
FileAttachment
(
"all_stocks.csv"
)
.
csv
(
{
typed
:
true
}
)
Insert cell
stockNames
=
{
let
names
=
[
]
;
allStocks
.
forEach
(
function
(
d
)
{
if
(
!
names
.
includes
(
d
.
name
)
)
{
names
.
push
(
d
.
name
)
}
}
)
;
return
names
;
}
Insert cell
viewof
stockName
=
Inputs
.
select
(
stockNames
,
{
label
:
"Select a stock: "
}
)
Insert cell
viewof
n
=
Inputs
.
range
(
[
0
,
30
]
,
{
label
:
"Window size: "
,
step
:
1
}
)
Insert cell
viewof
r
=
Inputs
.
range
(
[
1
,
5
]
,
{
label
:
"Radius: "
,
step
:
0.1
}
)
Insert cell
myPlot
=
Plot
.
bollingerY
(
allStocks
.
filter
(
d
=>
d
.
name
==
stockName
)
,
{
x
:
"Index"
,
y
:
"price"
,
n
:
n
,
k
:
r
}
)
.
plot
(
)
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
allStocks
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
stockNames
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
stockName
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
n
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
r
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
myPlot
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML