Mercurial > public > stock-charts
annotate Sources/InteractiveCharts/UI Previews/Sample data/GenerateSampleData.swift @ 14:edf2bfcd8d97
Reorganise structure
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Wed, 28 Apr 2021 19:01:40 +0200 |
parents | InteractiveCharts/UI Previews/Sample data/GenerateSampleData.swift@a9690565726b |
children |
rev | line source |
---|---|
7
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // GenerateSampleData.swift |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // InteractiveCharts |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 26/4/21. |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 /* |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
11 Generate sample data |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
12 */ |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 func generateSampleData(_ n: Int) -> [Double] { |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
14 var prices = [Double]() |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
16 for _ in (1..<n) { |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
17 var lastPrice = prices.last ?? 50.0 |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
18 let randomNumber = Double.random(in: 0...0.02) |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
19 |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
20 if randomNumber < 0.013 { |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
21 lastPrice = lastPrice * (1 - randomNumber) |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
22 } else { |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
23 lastPrice = lastPrice * (1 + randomNumber) |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
24 } |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
25 |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
26 prices.append(lastPrice) |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
27 } |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
28 return prices |
a9690565726b
Add previews
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
29 } |