Skip to content

Commit 1b14a78

Browse files
committed
update inference testing
1 parent 5aa7b5a commit 1b14a78

File tree

5 files changed

+77
-27
lines changed

5 files changed

+77
-27
lines changed

download_market_data.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
# ==============================================================================
1515

1616
import pandas as pd
17-
import json
1817
import yfinance as yf
1918
import datetime
2019

download_market_data_info.py

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,71 +13,70 @@
1313
# limitations under the License.
1414
# ==============================================================================
1515

16-
import pandas as pd
1716
import json
1817
import yfinance as yf
1918

20-
msft = yf.Ticker("GOOG")
19+
sec = yf.Ticker("GOOG")
2120

2221
print('Info')
23-
print(json.dumps(msft.info, indent=4, sort_keys=True))
22+
print(json.dumps(sec.info, indent=4, sort_keys=True))
2423
print()
2524
print('ISIN')
26-
print(msft.isin)
25+
print(sec.isin)
2726
print()
2827
print('Major Holders')
29-
print(msft.major_holders)
28+
print(sec.major_holders)
3029
print()
3130
print('Institutional Holders')
32-
print(msft.institutional_holders)
31+
print(sec.institutional_holders)
3332
print()
3433
print('Dividents')
35-
print(msft.dividends)
34+
print(sec.dividends)
3635
print()
3736
print('Splits')
38-
print(msft.splits)
37+
print(sec.splits)
3938
print()
4039
print('Actions')
41-
print(msft.actions)
40+
print(sec.actions)
4241
print()
4342
print('Calendar')
44-
print(msft.calendar)
43+
print(sec.calendar)
4544
print()
4645
print('Recommendations')
47-
print(msft.recommendations)
46+
print(sec.recommendations)
4847
print()
4948
print('Earnings')
50-
print(msft.earnings)
49+
print(sec.earnings)
5150
print()
5251
print('Quarterly Earnings')
53-
print(msft.quarterly_earnings)
52+
print(sec.quarterly_earnings)
5453
print()
5554
print('Financials')
56-
print(msft.financials)
55+
print(sec.financials)
5756
print()
5857
print('Quarterly Financials')
59-
print(msft.quarterly_financials)
58+
print(sec.quarterly_financials)
6059
print()
6160
print('Balance Sheet')
62-
print(msft.balance_sheet)
61+
print(sec.balance_sheet)
6362
print()
6463
print('Quarterly Balance Sheet')
65-
print(msft.quarterly_balance_sheet)
64+
print(sec.quarterly_balance_sheet)
6665
print()
67-
print('Balancesheet')
68-
print(msft.balancesheet)
66+
print('BalanceSheet')
67+
print(sec.balancesheet)
6968
print()
70-
print('Quarterly Balancesheet')
71-
print(msft.quarterly_balancesheet)
69+
print('Quarterly BalanceSheet')
70+
print(sec.quarterly_balancesheet)
7271
print()
7372
print('Cashflow')
74-
print(msft.cashflow)
73+
print(sec.cashflow)
7574
print()
7675
print('Quarterly Cashflow')
77-
print(msft.quarterly_cashflow)
76+
print(sec.quarterly_cashflow)
7877
print()
7978
print('Sustainability')
80-
print(msft.sustainability)
79+
print(sec.sustainability)
8180
print()
8281
print('Options')
83-
print(msft.options)
82+
print(sec.options)

stock_prediction_deep_learning_inference.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,44 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414
# ==============================================================================
15+
import os
16+
from absl import app
17+
import tensorflow as tf
18+
import pandas as pd
19+
from sklearn.preprocessing import MinMaxScaler
20+
21+
from stock_prediction_numpy import StockData
22+
from datetime import date
23+
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
24+
25+
26+
def main(argv):
27+
print(tf.version.VERSION)
28+
inference_folder = os.path.join(os.getcwd(), 'GOOG_20200704_b5f47746c83698528343678663ac3c96')
29+
30+
# load future data
31+
data = StockData()
32+
min_max = MinMaxScaler(feature_range=(0, 1))
33+
x_test, y_test = data.generate_future_data(TIME_STEPS, min_max, date(2020, 7, 5), date(2021, 7, 5))
34+
35+
# load the weights from our best model
36+
model = tf.keras.models.load_model(os.path.join(inference_folder, 'model_weights.h5'))
37+
model.summary()
38+
39+
# display the content of the model
40+
baseline_results = model.evaluate(x_test, y_test, verbose=2)
41+
for name, value in zip(model.metrics_names, baseline_results):
42+
print(name, ': ', value)
43+
print()
44+
45+
# perform a prediction
46+
test_predictions_baseline = model.predict(x_test)
47+
test_predictions_baseline = min_max.inverse_transform(test_predictions_baseline)
48+
test_predictions_baseline = pd.DataFrame(test_predictions_baseline)
49+
test_predictions_baseline.to_csv(os.path.join(inference_folder, 'inference.csv'))
50+
print(test_predictions_baseline)
51+
52+
53+
if __name__ == '__main__':
54+
TIME_STEPS = 60
55+
app.run(main)

stock_prediction_forecasting.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import os
1616
from absl import app
1717
import tensorflow as tf
18+
import pandas as pd
1819
from sklearn.preprocessing import MinMaxScaler
1920

2021
from stock_prediction_numpy import StockData
@@ -35,8 +36,17 @@ def main(argv):
3536
model = tf.keras.models.load_model(os.path.join(inference_folder, 'model_weights.h5'))
3637
model.summary()
3738

39+
# display the content of the model
40+
baseline_results = model.evaluate(x_test, y_test, verbose=2)
41+
for name, value in zip(model.metrics_names, baseline_results):
42+
print(name, ': ', value)
43+
print()
44+
3845
# perform a prediction
3946
test_predictions_baseline = model.predict(x_test)
47+
test_predictions_baseline = min_max.inverse_transform(test_predictions_baseline)
48+
test_predictions_baseline = pd.DataFrame(test_predictions_baseline)
49+
test_predictions_baseline.to_csv(os.path.join(inference_folder, 'inference.csv'))
4050
print(test_predictions_baseline)
4151

4252

stock_prediction_numpy.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import numpy as np
1616
import pandas as pd
1717
from datetime import timedelta
18+
import random
1819

1920

2021
class StockData:
@@ -62,7 +63,7 @@ def generate_future_data(self, time_steps, min_max, start_date, end_date):
6263
y_future = []
6364
for single_date in self.__daterange(start_date, end_date):
6465
x_future.append(single_date)
65-
y_future.append(0.0)
66+
y_future.append(random.uniform(10, 100))
6667

6768
test_data = pd.DataFrame({'Date': x_future, 'Close': y_future})
6869
test_data = test_data.set_index('Date')

0 commit comments

Comments
 (0)