Skip to content

sysupi/stockAI

 
 

Repository files navigation

stockAI: python machine learning framework for stock prediction


stockAI is an integrated machine learning package for technical research of stock price big data. From data collection to machine learning-specific stock price time series dataset generation, AI model learning and model evaluation, and backtesting, the goal of this package is to provide a one-time Python library to enhance the utilization and convenience of stock price big data technical research.



Why stockAI?


  • Stock Price Big Data Collection

'stockAI' stores big data in github and provides it to users. Because 'stockAI' is a research package, the data provided here focused on collecting data, storing it reliably, and storing it in a high-quality way, rather than collecting it in real time with unstable crawling methods.

  • An integrated package that enables the entire process of machine learning

In the past, we had to use distributed libraries to study stock price big data. StockAI is very useful because it is an integrated package that can collect data, preprocess data, learn artificial intelligence models, evaluate models, and backtest (yield calculation) at once.

  • Support the convenience of stock price big data research

The stockAI package can also be used by experts with domain knowledge of stocks. When these experts are unfamiliar with programming and want to perform artificial intelligence technological analysis with stock price data, it helps them conveniently conduct research on stock price data without a large amount of programming.



How to use stockAI?


You can find more information about using stockAI in the tutorials folder.

And The following image summarizes the methods of stockAI.

img

1. Data Acquisition

1.1 Bringing up the market

sai.get_markets(country:list)

1.2 Bringing up tickers

sai.get_tickers(markets:list, date:string)

1.3 Bring up stock price data

sai.load_data(date:list, tickers:list=None)

2. Data Preprocessing

2.1 Add Secondary Indicators

sai.add_index(data:pd.DataFrame(), index_list:list)

2.2 Scaling

sai.scaling(data:pd.DataFrame(), scaler_type:String, window_size:Int=None)

2.3 Convert to time series data

sai.time_series(data:pd.DataFrame(), day:Int=10)

3. Trader Definition

3.1 trader definitions img For trader definitions, it is recommended to refer to the tutorials folder.


4. Trader(Model) Fitting & Evaluation

3.2 Store required data sets inside the trader

sai.save_dataset(lst_trader:list, train_data:pd.DataFrame(), test_data:pd.DataFrame(), train_data_scaled:pd.DataFrame()=None, test_data_scaled:pd.DataFrame()=None)

3.3 Model fitting

sai.trader_train(lst_trader:list)

3.4 Model evaluation

sai.get_eval_by_threshold(lst_trader)

3.5 Setting Thresholds

sai.set_threshold(lst_trader, lst_threshold:list, hisogram:bool=True)

4. Back Testing

4.1 Making a sales log

sai.decision(lst_trader:list, dtype='test', data=None, data_scaled=None)

4.2 Calculate the yield

sai.simulation(df_signal_all, init_budget, init_stock)

4.3 Leader Board

sai.leaderboard(df)

4.4 Visualize yield

sai.yield_plot(df)

dfsf

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 84.3%
  • Python 15.3%
  • TeX 0.4%