xiexie224xx

xiexie224xx

Geek Repo

Github PK Tool:Github PK Tool

xiexie224xx's starred repositories

Garch-Vine-Copula

Dependence Structure Modelling Using R-Vine Copula

Language:RStargazers:4Issues:0Issues:0

vine_copula

Vine_Copula_based_ARMA_EGARCH

Language:RStargazers:9Issues:0Issues:0

portvine

Portfolio level (un)conditional risk measure estimation for backtesting using Vine Copula and ARMA-GARCH models.

Language:RLicense:NOASSERTIONStargazers:20Issues:0Issues:0

kxy-python

A toolkit to boost the productivity of machine learning engineers.

Language:PythonLicense:GPL-3.0Stargazers:52Issues:0Issues:0

GARCH-EVT-COPULA-VaR-Approach-Econometric-Olympiad

Value at Risk (VaR) is one of the most widely used risk measure in risk management. This repo contain implemented code to estimate portfolio VaR using an approach combining Copula functions, Extreme Value Theory (EVT) and GARCH models.

Language:HTMLStargazers:3Issues:0Issues:0

RCoVaRCopula

R Code CoVaR with Copula

Language:RStargazers:64Issues:0Issues:0
Language:MATLABStargazers:2Issues:0Issues:0
Language:MATLABStargazers:2Issues:0Issues:0

ProjCode4YangLiu18Aug

sample estimation procedures for different cases of DCC-MIDAS model; written in MatLab

Language:MATLABLicense:MITStargazers:6Issues:0Issues:0

dccmidas

:exclamation: This is a read-only mirror of the CRAN R package repository. dccmidas — DCC Models with GARCH and GARCH-MIDAS Specifications in the Univariate Step, RiskMetrics, Moving Covariance and Scalar and Diagonal BEKK Models

Language:RStargazers:7Issues:0Issues:0

Option-prices-deep-learning

Predicting option prices using Black-Scholes model and deep learning networks

Language:Jupyter NotebookStargazers:9Issues:0Issues:0

Building-A-Trading-Strategy-With-Python

trading strategy is a fixed plan to go long or short in markets, there are two common trading strategies: the momentum strategy and the reversion strategy. Firstly, the momentum strategy is also called divergence or trend trading. When you follow this strategy, you do so because you believe the movement of a quantity will continue in its current direction. Stated differently, you believe that stocks have momentum or upward or downward trends, that you can detect and exploit. Some examples of this strategy are the moving average crossover, the dual moving average crossover, and turtle trading: The moving average crossover is when the price of an asset moves from one side of a moving average to the other. This crossover represents a change in momentum and can be used as a point of making the decision to enter or exit the market. You’ll see an example of this strategy, which is the “hello world” of quantitative trading later on in this tutorial. The dual moving average crossover occurs when a short-term average crosses a long-term average. This signal is used to identify that momentum is shifting in the direction of the short-term average. A buy signal is generated when the short-term average crosses the long-term average and rises above it, while a sell signal is triggered by a short-term average crossing long-term average and falling below it. Turtle trading is a popular trend following strategy that was initially taught by Richard Dennis. The basic strategy is to buy futures on a 20-day high and sell on a 20-day low. Secondly, the reversion strategy, which is also known as convergence or cycle trading. This strategy departs from the belief that the movement of a quantity will eventually reverse. This might seem a little bit abstract, but will not be so anymore when you take the example. Take a look at the mean reversion strategy, where you actually believe that stocks return to their mean and that you can exploit when it deviates from that mean. That already sounds a whole lot more practical, right? Another example of this strategy, besides the mean reversion strategy, is the pairs trading mean-reversion, which is similar to the mean reversion strategy. Whereas the mean reversion strategy basically stated that stocks return to their mean, the pairs trading strategy extends this and states that if two stocks can be identified that have a relatively high correlation, the change in the difference in price between the two stocks can be used to signal trading events if one of the two moves out of correlation with the other. That means that if the correlation between two stocks has decreased, the stock with the higher price can be considered to be in a short position. It should be sold because the higher-priced stock will return to the mean. The lower-priced stock, on the other hand, will be in a long position because the price will rise as the correlation will return to normal. Besides these two most frequent strategies, there are also other ones that you might come across once in a while, such as the forecasting strategy, which attempts to predict the direction or value of a stock, in this case, in subsequent future time periods based on certain historical factors. There’s also the High-Frequency Trading (HFT) strategy, which exploits the sub-millisecond market microstructure. That’s all music for the future for now; Let’s focus on developing your first trading strategy for now! A Simple Trading Strategy As you read above, you’ll start with the “hello world” of quantitative trading: the moving average crossover. The strategy that you’ll be developing is simple: you create two separate Simple Moving Averages (SMA) of a time series with differing lookback periods, let’s say, 40 days and 100 days. If the short moving average exceeds the long moving average then you go long, if the long moving average exceeds the short moving average then you exit. Remember that when you go long, you think that the stock price will go up and will sell at a higher price in the future (= buy signal); When you go short, you sell your stock, expecting that you can buy it back at a lower price and realize a profit (= sell signal). This simple strategy might seem quite complex when you’re just starting out, but let’s take this step by step: First define your two different lookback periods: a short window and a long window. You set up two variables and assign one integer per variable. Make sure that the integer that you assign to the short window is shorter than the integer that you assign to the long window variable! Next, make an empty signals DataFrame, but do make sure to copy the index of your aapl data so that you can start calculating the daily buy or sell signal for your aapl data. Create a column in your empty signals DataFrame that is named signal and initialize it by setting the value for all rows in this column to 0.0. After the preparatory work, it’s time to create the set of short and long simple moving averages over the respective long and short time windows. Make use of the rolling() function to start your rolling window calculations: within the function, specify the window and the min_period, and set the center argument. In practice, this will result in a rolling() function to which you have passed either short_window or long_window, 1 as the minimum number of observations in the window that are required to have a value, and False, so that the labels are not set at the center of the window. Next, don’t forget to also chain the mean() function so that you calculate the rolling mean. After you have calculated the mean average of the short and long windows, you should create a signal when the short moving average crosses the long moving average, but only for the period greater than the shortest moving average window. In Python, this will result in a condition: signals['short_mavg'][short_window:] > signals['long_mavg'][short_window:]. Note that you add the [short_window:] to comply with the condition “only for the period greater than the shortest moving average window”. When the condition is true, the initialized value 0.0 in the signal column will be overwritten with 1.0. A “signal” is created! If the condition is false, the original value of 0.0 will be kept and no signal is generated. You use the NumPy where() function to set up this condition. Much the same like you read just now, the variable to which you assign this result is signals['signal'][short_window], because you only want to create signals for the period greater than the shortest moving average window! Lastly, you take the difference of the signals in order to generate actual trading orders. In other words, in this column of your signals DataFrame, you’ll be able to distinguish between long and short positions, whether you’re buying or selling stock.

Language:Jupyter NotebookStargazers:52Issues:0Issues:0

Options-Trading-Strategies-in-Python

Developing Options Trading Strategies using Technical Indicators and Quantitative Methods

Language:PythonStargazers:732Issues:0Issues:0

SGX-Full-OrderBook-Tick-Data-Trading-Strategy

Providing the solutions for high-frequency trading (HFT) strategies using data science approaches (Machine Learning) on Full Orderbook Tick Data.

Language:Jupyter NotebookStargazers:1858Issues:0Issues:0

Stock-Predction-Trading-Bot

A project consisting of an algorithmic trading bot using LSTM model's forecasts of 16 different stock markets. 12/16 postivie return on investment after training the neural network on a 3-year long training set and trading on 2-year long test set from 2012-2018 for all 16 stocks.

Language:Jupyter NotebookStargazers:3Issues:0Issues:0

Capstone_project

Manually data collection from different sources by web scraping. Analyse different type of investment way for financial gain.Analyse different type of stock and forecasting the price of the stock using LSTM.Analyse the risk factor using risk analysis.Recommend a suitable investment idea for a person according to risk factor and amount of money he/she wants to invest.

Language:Jupyter NotebookStargazers:1Issues:0Issues:0

StockPricePredictor

StockPredictor app is a powerful financial management tool incorporating LSTM and ARIMA time series analysis, sentiment analysis, real-time news updates, and cryptocurrency tracking. This innovative app assists users in making informed investment decisions by harnessing cutting-edge predictive algorithms.

Language:Jupyter NotebookLicense:MITStargazers:2Issues:0Issues:0

Undergraduate-degree-graduation-project

The main content of this source code includes: 1. Wavelet denoising of investment factors. 2. Stock price trend prediction using LSTM, GRU, RNN, BPNN, and SVR algorithms based on investment factors. 3. Constructing a quantitative investment strategy and conducting backtesting based on the prediction results.

Language:Jupyter NotebookStargazers:3Issues:0Issues:0

Simulating-Hetergenous-Investment-Stategies-in-a-Financial-Market

This is a simulation of a financial market for the purposes of modeling heterogeneous investment strategies via agent based simulation. Price variation is derived in a combination of stochastic and LSTM extrapolation from historical price data. Trader archetypes include: Rational, Day Trader, Trend Investor, Bayesian, and Pessimistic.

Language:PythonStargazers:3Issues:0Issues:0

Backtesting_using_OOP

Based on our LSTM model, we create a trading rule and backtest the investment strategy.

Language:Jupyter NotebookStargazers:1Issues:0Issues:0

Investment-Portfolio-Management

Investment Portfolio Management using LSTM model and Markowitz theory (Modern Portfolio Theory)

Language:Jupyter NotebookStargazers:1Issues:0Issues:0

Optimizing_Portfolio_Based_on_Machine_Learning_Results

Developed an investment portfolio using LSTM model

Language:Jupyter NotebookStargazers:1Issues:0Issues:0

Quantum-Counselor-for-Portfolio-Investment

The Quantum Counselor for portfolio investment is a tool with two main objectives: forecasting the trend of assets price and optimizing portfolio returns both using quantum computing techniques. For the case of the forecasting method, we use a hybrid method that combines a deep learning model of classical LSTM layers with quantum layers. For the case of portfolio optimization, the quantum algorithms of QAOA and VQE are used to solve the problem and will be compared with CPLEX, a classical solver. Both tools are deeply connected because the forecasted price of the different assets is used for the cost function construction.

Language:Jupyter NotebookStargazers:12Issues:0Issues:0

investment-portfolio-optim

An investment portfolio of stocks is created using Long Short-Term Memory (LSTM) stock price prediction and optimized weights. The performance of this portfolio is better compared to an equally weighted portfolio and a market capitalization-weighted portfolio.

Language:Jupyter NotebookLicense:GPL-3.0Stargazers:32Issues:0Issues:0

Sharpe-LSTM-Investment-Model

The research provides effective management strategies for different asset portfolios in the financial sector by building models. The VMD-LSTM-PSO model is developed for daily financial market price forecasting, where the time series are decomposed by VMD and the sub-series are used as LSTM input units to carry out forecasting, and then the network parameters are adjusted by PSO to improve the forecasting accuracy, and the Huber-loss of the model is 1.0481e-04. For the daily portfolio strategy, EEG is used to construct a system of investment risk indicators, which is optimized by incorporating the risk indicators into the Sharpe index, and the objective function is analyzed by using GA to derive the optimal daily asset share that maximizes the investor's return with minimal risk. The results of the empirical analysis show that the model provides strategies with good robustness.

Language:PythonLicense:AGPL-3.0Stargazers:16Issues:0Issues:0

TrafficMonitor

这是一个用于显示当前网速、CPU及内存利用率的桌面悬浮窗软件,并支持任务栏显示,支持更换皮肤。

Language:C++License:NOASSERTIONStargazers:33322Issues:0Issues:0
Language:PythonLicense:MITStargazers:47Issues:0Issues:0

TSF-BTC-LSTM-RNN-PSO-GWO

Time Series Forecasting of Bitcoin Prices using LSTM and RNN with Particle Swarm Optimization and Grey Wolf Optimizer

Language:Jupyter NotebookStargazers:17Issues:0Issues:0
Language:PythonStargazers:24Issues:0Issues:0

TSA-LSTM-and-PSO-LSTM

Tree seed algorithm and Particle Swarm algorithm are used for searching the LSTM hyper parameters

Language:PythonStargazers:11Issues:0Issues:0