close

Market trading

Market trading

Stock Exchange Trading: Stock Trading Is Similar To Being A Professional Athlete: 5 Ways To Control Your Emotions

You can be the most sophisticated trader, but without the right mindset your trading results will be inconsistent. To explain this, let us take the example of the field of sport. Performance psychologists help athletes perform at peak levels, while focusing on all aspects of their lives, including personal challenges, eating habits, and post-injury rehabilitation. They closely assess the impact of psychological conditions on athletic performance and the impact of sport on the mind of an athlete.

Trading in the stock market is similar to being a professional athlete. Both are judged on their daily performance. You need to cultivate habits to develop your emotional resilience.

This means that wild fluctuations in the stock market shouldn’t make you jittery or nervous. The ups and downs of the stock market are an integral part of the investment journey. You need courage and agility to stay prepared for any directional movement.

It’s easier said than done. Our brains are hardwired to let emotions take control. When we see red piling up in our positions, the “fight or flight” instinct kicks in. This causes gut reactions, which can be costly and prevent us from achieving our goals. So how do you avoid emotions while trading? Here is a preview.

Treat it like a business

I always stress that investors should see themselves as independent entrepreneurs. It requires a radical change of perspective. If you think of investing as a hobby, you won’t be able to quantify your goals. This could make it difficult to achieve lasting progress.

Write a business plan, list your goals, determine your risk profile and the amount you plan to invest. What will be the source of this capital? How much can you afford to lose? Describing these things on a daily basis will keep fear and greed in check. When you treat trading like a business, you are also less likely to make decisions out of boredom.

Recognize emotions
You should consider putting some time between the momentum to act and your investment decision. This is true whether you want to buy the downside or sell during a rise. Various studies have indicated that breathing exercises can help you stay calm, productive, and rational while dealing with stressful situations. Research further proves that different forms of breathing are associated with different emotions, so the way you breathe can impact how you feel. Changing the rhythm of your breathing can signal relaxation to your brain. This will give you time to reassess your approach to investing.

Market research is crucial
Emotions sometimes creep in when you don’t know what to do in a particular market situation. This is why you need to stay up to date on the fundamentals of the market. Focusing on companies with great quarterly results may not give you the big picture. Understand the underlying macroeconomic factors, both domestic and global. Be aware of all geopolitical developments that can trigger market volatility.

Look for new educational resources, such as analysts’ opinions on undervalued stocks, price predictions, and economic analysis. Improve your research with a new newsletter every now and then. You may find something that fundamentally changes the way you invest, or something that you don’t agree with.

Either way, when you make a concentrated effort to always learn something new about investing or the markets, you will have a new perspective and a new confidence. It makes you a more educated trader and breaks the cycle of emotional trading.

Always remember the past
When the market plunges the next time around, remember it’s not the first and it won’t be the last. Globally, the stock markets have overcome so many obstacles over the decades. For example, Indian stock markets experienced the largest one-day decline in absolute terms on March 12, 2020, as the WHO declared Covid-19 a global pandemic. The benchmark Sensex was down 8.2% to trade at 32,778 points, and Nifty 50 was down 8.3% to trade at 9,590 points. But as of March 15, 2021, Nifty 50 was trading at 14,772.62 points, more than pre-pandemic levels.

The stock market has recovered and reached new highs after each global crisis. Also, keep in mind that even if the stock market goes down, your overall portfolio might not go down. If you have a well-diversified investment portfolio, comprising stocks, bonds, and other assets, your panic can subside considerably.

Ignore background noise

You may have read various buzzwords and phrases in articles or books before. Stick to your trading plan. Have patience and discipline. Be in the area.

They are all logical, perhaps even encouraging. However, unless your mind is at home at home and you are in good mental and physical health, you cannot follow these steps. So, consider a few non-market tips to get your head in, like getting regular exercise, doing something creative in your spare time, reading a book, and more. These things can keep your mind from focusing on the markets.

Finally, accept that mistakes are made by even the best business minds. How to react to these mistakes differentiates a good trader from an excellent one. Learn from them and keep looking ahead.

(The author is Managing Director and CEO, HDFC Securities)


Source link

read more
Market trading

Create a market trading bot using Open AI Gym Anytrading


The main focus of AI is the development of computational functions associated with human intelligence, such as reasoning, learning and problem solving, which can be particularly useful for markets. Trading and investing in the market only requires a series of reasoning and calculations, based on data and solving the problem of predicting the future direction of current stock prices. Fundamental and manual technical analysis is going out of fashion these days. The application of machine learning technology in trading or stock market is used so that the system automatically learns the complexity of the trade and improves its algorithms to assist with the best trading gift. In the last decade, there seemed to be a use of the wallet of traders, so that everyone could earn their profits. But, with the help of AI, one can perfectly analyze the underlying data points presented very quickly and accurately.

Using such data points, we can analyze current market trends and train high speed patterns, which are the two necessary elements generally used for smart trading. Using headlines from news channels and news sources, reviews from social media, and comments on other platforms, AI can analyze the action by performing sentiment analysis on that data. Machine learning usually stores the results and metrics that gave those results and can better analyze the stock market.

Data often helps to find a better solution, especially in probability-based and sentiment-based activities, such as stock trading. But to this day, financial engineers also believe that it is impossible for a machine, left to itself, to beat the stock market. With the rise of technology, incredibly powerful computers can process almost countless data points in a matter of minutes. This means that they are also very capable of detecting historical and replicating patterns for intelligent trading in the market which are often hidden from ordinary human investors. We humans are simply not able to process such data or see these patterns at the same rate as a technologically capable machine. AI can evaluate and analyze thousands of stocks in a matter of moments, and so this technology adds even more speed to trading. Today, every millisecond counts, and with AI as a means of automated trading, it’s a wonder. AI is already learning to continually improve on its own mistakes. It deploys automated trading assistant robots and is constantly working to improve its performance by refining programming and entering huge masses of new data.

What is Open AI Gym Anytrading?

AnyTrading is an Open Source collection of OpenAI Gym environments for reinforcement learning based trading algorithms. The trading algorithms are mainly implemented on the basis of two of the biggest markets present: FOREX and Stock. AnyTrading aims to provide Gym environments to improve and facilitate the process of developing and testing reinforcement learning based algorithms in the field of market trading. This is achieved by implementing it on three Gym environments: TradingEnv, ForexEnv and StocksEnv. AnyTrading can help you learn about stock market trends and perform powerful analysis, providing in-depth insights for data-driven decisions.

Getting started with the code

In this article, we will implement a reinforcement learning based market trading model, in which we will create a trading environment using OpenAI Gym AnyTrading. We will use historical GME price data, then train and evaluate our model using reinforcement learning agents and the gymnastics environment. The following code is partly inspired by a video tutorial on Gym Anytrading, the link of which can be found here.

Library installation

The first essential step would be to install the necessary library. To do this, you can run the following lines of code,

! pip install tensorflow-gpu == 1.15.0 tensorflow == 1.15.0 stable-baselines gym-anytrading gym

Stable-Baselines will provide us with the reinforcement learning algorithm and Gym Anytrading will provide us with our trading environment

Import dependencies

Now let’s install the required dependencies to create a basic framework for our model, and we’ll use the A2C reinforcement learning algorithm to build our market trading model.

# Importing Dependencies
import gym
import gym_anytrading
# Stable baselines - rl stuff
from stable_baselines.common.vec_env import DummyVecEnv
from stable_baselines import A2C
# Processing libraries
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
Processing of our dataset

Now, with our pipeline setup, let’s load our GME Market data. You can download the dataset using the link here. You can also use other relevant data sets such as Bitcoin data to run this model.

#loading our dataset
df = pd.read_csv('/content/gmedata.csv')
#viewing first 5 columns
df.head()
#converting Date Column to DateTime Type
df['Date'] = pd.to_datetime(df['Date'])
df.dtypes

Go out :

Date      datetime64[ns]
Open             float64
High             float64
Low              float64
Close            float64
Volume            object
dtype: object

#setting the column as index
df.set_index('Date', inplace=True)
df.head()

We will now transmit the data and create our gym environment for our agent to train later.

See also
How Fujitsu uses artificial intelligence
#passing the data and creating our environment
env = gym.make('stocks-v0', df=df, frame_bound=(5,100), window_size=5)

Setting the window size parameter will specify how many previous price references our trading bot will have so that it can decide to place a trade.

Test our environment

Now with our model setup, let’s test our basic environment and deploy our reinforcement learning agent.

#running the test environment
state = env.reset()
while True: 
    action = env.action_space.sample()
    n_state, reward, done, info = env.step(action)
    if done: 
        print("info", info)
        break
        
plt.figure(figsize=(15,6))
plt.cla()
env.render_all()
plt.show()

As we can see, our agent RL bought and sold stocks at random. Our profit margin appears to be greater than 1, so we can determine that our bot has made us profit from the trades it has made. But these were random steps, now let’s properly train our model to get better trades.

Shaping our environment

Configure our environment to train our reinforcement learning agent,

#setting up our environment for training 
env_maker = lambda: gym.make('stocks-v0', df=df, frame_bound=(5,100), window_size=5)
env = DummyVecEnv([env_maker])

#Applying the Trading RL Algorithm
model = A2C('MlpLstmPolicy', env, verbose=1) 
 
#setting the learning timesteps
model.learn(total_timesteps=1000)
---------------------------------
| explained_variance | 0.0016   |
| fps                | 3        |
| nupdates           | 1        |
| policy_entropy     | 0.693    |
| total_timesteps    | 5        |
| value_loss         | 111      |
---------------------------------
---------------------------------
| explained_variance | -2.6e-05 |
| fps                | 182      |
| nupdates           | 100      |
| policy_entropy     | 0.693    |
| total_timesteps    | 500      |
| value_loss         | 2.2e+04  |
---------------------------------
---------------------------------
| explained_variance | 0.0274   |
| fps                | 244      |
| nupdates           | 200      |
| policy_entropy     | 0.693    |
| total_timesteps    | 1000     |
| value_loss         | 0.0663   |
#Setting up the Agent Environment
env = gym.make('stocks-v0', df=df, frame_bound=(90,110), window_size=5)
obs = env.reset()
while True: 
    obs = obs[np.newaxis, ...]
    action, _states = model.predict(obs)
    obs, rewards, done, info = env.step(action)
    if done:
        print("info", info)
        break


#Plotting our Model for Trained Trades
plt.figure(figsize=(15,6))
plt.cla()
env.render_all()
plt.show()

As we can see here, our skilled agent is now doing much better trades and a lot less random trades, giving us profit at the same time with a lot more awareness of when to buy and when to sell the stock.

End Notes

In this article, we have tried to understand how artificial intelligence can be applied to market trading to help leverage the art of buying and selling. We have also created a reinforcement learning model whereby our skilled agent can buy and sell stocks, reserving us profits simultaneously. The following implementation above can be found as a Colab notebook, accessible using the link here.

Good learning!

The references


Join our Discord server. Be part of an engaging online community. Join here.


Subscribe to our newsletter

Receive the latest updates and relevant offers by sharing your email.


Source link

read more
Market trading

Business News | Stock market and stock market news














Money control
PRO Money Control

PRO Money Control













Morningstar India’s National Fund Flows Report for Q1 FY22 provides an overview of estimated flows, asset trends and performance of equity and debt funds.

These mutual funds got the maximum flow during the June quarter.  Do you own any of them?


  • कार्लाइल डील में रुकावट के कारण 35,000 करोड़ रुपये का कर्ज लेगी GNP हाउसिंग फाइनेंस

  • ESB नया प्राइस बैंड रूल, इन 31 स्मॉलकैप शेयरों पर होगा, देखें पूरी लिस्ट

  • Winners and losers: आखिरी घंटे में निचले स्तर से सुधरकर बंद हुआ बाजार, इन शेयरों में रही सबसे ज्यादा हलचल

  • अब,,, कैसे?

  • FY22 Winners: 10 ऐसे स्टॉक जिनमें पिछले 4 महीनें में दिखी कम से कम 15% की बढ़त, क्या हैं आपके पास

  • Hydroelectric Project की पूरी हिस्सेदारी Renew Power को बेचेगी L&T

  • After the bell: बंद हुआ बाजार, अब गुरुवार को क्या में निवेश रणनीति

  • झुनझुनवाला की लो कॉस्ट एयरलाइन बोइंग से 8.5 अरब डॉलर में खरीद सकती है 70 प्लेन

  • झुनझुनवाला के पोर्टफोलियो में शामिल फार्मा स्टॉक पहली तिमाही के रिजल्ट के बाद 7% गिरा

  • CII annual session: ‘सरकार राष्ट्र हित में बड़े से बड़ा रिस्क उठाने को तैयार’, पढ़िए PM मोदी की बड़ी बातें

  • Independence Day: 15 अगस्त को अमेरिका के Times Square पर फहराया जाएगा अब तक का सबसे बड़ा तिरंगा

  • आप भी ज्यादा उतार-चढ़ाव वाले शेयरों पर फोकस करते हैं तो इन 10 हाई मोमेंटम शेयरों पर करें गौर

  • Midcap और small cap स्टॉक में हालिया करेक्शन के बाद फिर लौट सकती है तेजी: एक्सपर्ट्स

  • 7th salary commission: सरकारी बैंक कर्मचारियों की इस महीने बढ़ेगी सैलरी, 2 फीसदी बढ़ा DA

  • दिल्ली के बच्चों को मिलेगी इंटरनेशनल लेवल की शिक्षा, केजरीवाल सरकार ने IB बोर्ड के साथ किया करार



Last name Price Change % variation
Sbi 428.05 1.60 0.38
Indiabulls Hsg 246.95 -5.90 -2.33
Ntpc 116.95 2.60 2.27
Nhpc 26.00 0.30 1.17

Forum

Forum

YOUR OPINION

Which of these young people will score the most points in this ipl?

Which of these young people will score the most points in this ipl?

FEEDBACK

Thank you for voting


Snapshot of the IPO

Equity Type Issue price Size of the problem Lot size Open problem Problem Close
View profile Initial Public Offering 1 2937.36 – 2998. 9 09-08 11-08
Nuvoco Vistas View profile Initial Public Offering 560 5000 – 5089.29 26 09-08 11-08
Aptus value See profile Initial Public Offering 346 2734.84 – 2790. 42 10-08 12-08
Chemplast See profile Initial Public Offering 530 3850 – 3929.91 27 10-08 12-08
Equity Filing date with Sebi

Popular Vehicles and Services Limited (Popular.pdf)

05-Aug

Adani Wilmar Limited (Adani.pdf)

03-Aug

FSN E-Commerce Ventures Limited (FSN.pdf)

03-Aug

PB Fintech Limited – DRHP (PB.pdf)

02-Aug
Equity Issue price Registration date Open announcement Announcement Close % quotation gains CMP Current earnings%
Rolex rings 900 09-08 1249.00 1166.55 29.62 1,125.80 25.09
Glenmark’s life 720 06-08 752.00 748.20 3.92 748.00 3.89
Tatva Chintan 1083 07-29 2111.80 2310.25 113.32 2,009.00 85.50
Zomato 76 07-23 115.00 125.85 65.59 135.80 78.68
Scheme Fund Category Info Purchase order Opening date Closing date
No NFO details available.
Equity Type Issue price Size of the problem Lot size Subscription Open problem Problem Close

Gretex Corporat See profile

SME IPO 170 5.13 0 07-27 07-30

Glenmark Life See profile

Initial Public Offering 695 1497.85 – 1513. 0 2.78 07-27 07-29

People Network See profile

SME IPO 76 13.01 – 13.7 0 07-28 02-08

Rex Pipes See profile

SME IPO 26 6.24 0 07-28 02-08

chat box

Jain of Balwant
Jain of Balwant

Tax and investment expert,

August 12 – 2:00 p.m.

How to save tax on the sale of a house?



chat box

Jain of Balwant
Jain of Balwant

Tax and investment expert

August 12 – 2:00 p.m.

How to save tax on the sale of a house?

Company action





Company Report VF Ex-Rights
Details of rights not present at the moment.


Company Name Last prize Change Market capitalization Net sales Net profit Assets






country = India page generated = 2021-08-11 19:57:13


Source link

read more
Market trading

Malawi: stock exchange slows

A monthly market report released by the Malawi Stock Exchange (MSE) showed that trading slowed down on the local stock exchange in July, recording an average daily volume of 1,047,162 shares compared to 7,391,068 shares traded in June 2021.

This reflects an 85.83% drop in daily trading activity during the month.

The report indicates that the market traded a total of 21,990,398 shares for a total consideration of K994,831,445.53 in 298 transactions less than a total of 162,603,497 shares for a total consideration of K4,769,000 833.21 in 326 commercial transactions recorded in June.

However, the market recorded a positive return on the index, as evidenced by the upward movement of the Malawi All Share (Masi) index to 36,496.03 points against 35,144.56.63 points recorded in June.

“This gives a monthly return on the index of 3.85%. The price gains recorded by Illovo at 20.81%, Airtel at 9.9 percent, FMBCH at 8.66%, Limited press company at 8.34%, TNM, National Bank and Standard bank were enough to compensate for the price losses recorded by NITL at 15 percent, Former mutual to 4.11, NBS and FDH Bank resulting in an upward movement of the MASI, ”the statement said.

Stockbrokers Malawi Limited CEO Noel Kadzakumanja said the Masi won because it is driven by price changes on the counters and not by the volumes and values ​​traded.

“We should expect an increase in transactions as some of the big players come out of the shutdown period and the Covid situation is expected to improve,” Kadzakumanja said.

Alliance Stockbrokers Limited chief operating officer Thokozani Saulosi said in a separate interview that when overall prices rise over a period of time, Masi will rise.

He said the market exhibits seasonal patterns where activity is at will once companies’ financial statements are released, which acts as a trigger in the decision-making of fund managers who are the biggest investors in the market. Marlet.

“We should expect lower volumes and values ​​than in April and May. However, this is not exhaustive as some months activity could pick up and the market registers high values ​​and volumes, ”Saulosi said.

MSE operations manager Kelline Kanyangala said some of the decline in trade is indicative of the seasonality factor in business patterns that have been observed over time.

“Looking ahead, we hope that activity should pick up once most companies start reporting their half year financial results.

“However, we are also aware of the downside risk posed by the Covid pandemic which, we have observed, causes a slowdown in activity when positive cases increase,” Kanyangala said.


Source link

read more
Market trading

Top 5 Trading and Investing Strategies in the Bear Market

“,” name “:” marketingPreferencesOptIn “,” classSize “:” default “,” values ​​”:[{“label”:”Yes”,”value”:”true”},{“label”:”No”,”value”:”false”}]}, {“type”: “hidden”, “label”: “sourceType”, “className”: “sourceField”, “name”: “sourceType”, “value”: “Guide to trading subscriptions”}, {” type “:” hidden “,” label “:” locale “,” className “:” sourceField “,” name “:” locale “,” value “:” fr_GB “}, {” type “:” hidden “,” label “:” managingOffice “,” className “:” sourceField “,” name “:” managingOffice “,” value “:” LON “}, {” type “:” hidden “,” label “:” siteId “,” className “:” sourceField “,” name “:” siteId “,” value “:” igm “}, {” type “:” hidden “,” label “:” campaignId “,” className “:” sourceField “,” name “:” campaignId “,” value “:” 7012X000001qeuk “}, {” type “:” button “,” label “:” Get your guide “,” className “:” btn left btn-primary “,” name ” : “button-1540894233788”, “position”: “full”, “classSize”: “c50”, “style”: “primary”}, {“type”: “paragraph”, “label”: “## gdpr_form_privacy # # “,” className “:” paragraph “,” classSize “:” default “}]” data-skip-irp = “false” novalidate data-di-form-track data-di-form-id = “lc_prospects”>

We reveal the main potential trap and how to avoid it. Find out how to increase your chances of business success, with data gleaned from over 100,000 IG accounts.


Source link

read more
Market trading

Top 5 Trading and Investing Strategies in the Bear Market

“,” name “:” marketingPreferencesOptIn “,” classSize “:” default “,” values ​​”:[{“label”:”Yes”,”value”:”true”},{“label”:”No”,”value”:”false”}]}, {“type”: “hidden”, “label”: “sourceType”, “className”: “sourceField”, “name”: “sourceType”, “value”: “Guide to trading subscriptions”}, {” type “:” hidden “,” label “:” locale “,” className “:” sourceField “,” name “:” locale “,” value “:” fr_GB “}, {” type “:” hidden “,” label “:” managingOffice “,” className “:” sourceField “,” name “:” managingOffice “,” value “:” LON “}, {” type “:” hidden “,” label “:” siteId “,” className “:” sourceField “,” name “:” siteId “,” value “:” igm “}, {” type “:” hidden “,” label “:” campaignId “,” className “:” sourceField “,” name “:” campaignId “,” value “:” 7012X000001qeuk “}, {” type “:” button “,” label “:” Get your guide “,” className “:” btn left btn-primary “,” name ” : “button-1540894233788”, “position”: “full”, “classSize”: “c50”, “style”: “primary”}, {“type”: “paragraph”, “label”: “## gdpr_form_privacy # # “,” className “:” paragraph “,” classSize “:” default “}]” data-skip-irp = “false” novalidate data-di-form-track data-di-form-id = “lc_prospects”>

We reveal the main potential trap and how to avoid it. Find out how to increase your chances of business success, with data gleaned from over 100,000 IG accounts.


Source link

read more
Market trading

Stock trading: a beginner’s guide

Why trade stocks? What are the risks of trading stocks? What really went wrong with GameStop? How to profit from the ups and downs of the stock market? Find the answers to these questions and more in this week’s stock trading webinar.

Why trade on the stock market?

Before getting to the heart of the matter of stock trading, let’s first answer the question of why trade stocks besides Forex?

Sustainable trends

Individual stocks and entire indices can exhibit multi-year trends that you can take advantage of. Look at companies like Amazon and Apple over the past 5-10 years as prime examples:

As you can see in the graph above, Amazon has been on the rise for years, starting in 2017.

Apple has also been in a long-term uptrend for years:

Apple shares

Around 2017-18, Apple shares were worth $ 20 per share. Now they’re at $ 146 per share.

Multi-year trends are often not the case in Forex pairs.

Wide range of opportunities

Depending on the stock market you want to focus on, there may be hundreds, if not thousands, of trading prospects. This high number of opportunities means that you can choose the best trends or trading setups. In contrast, Forex is limited to a few tradable pairs.

How to trade stocks

You can access the stock markets (also called equity markets) in several ways:

Buy and sell the underlying stocks

Buying and selling the underlying stocks is the easiest way to trade the stock markets. You own the shares, which means you own part of the business. Most common shares carry voting rights. But buying the stocks usually means you have little or no leverage. In addition, it is not always possible to sell a stock short. If you sell a stock short, your losses can be unlimited as there is no cap on how much and how fast the trade can go against you. Institutional investors experienced this reality when they were short on US GameStop stock and the price rose several times, causing huge losses for short investors.

Stock options

There are two types of stock options: call options and put options. Call options give you the right to buy a share; put options give you the right to sell a stock. Call options can provide leverage in long positions. Put options make it easy to profit from falling stocks without the risk of unlimited losses. The options can be complex and require a learning curve. When you have a long option, the dissipation of the value of time can work against you.

Contracts for difference (CFDs)

CFDs allow leverage, but you don’t own the underlying stock, which means no voting rights. CFDs have overnight funding fees. Anytime you have a leveraged position, you risk multiplying your losses and facing margin calls. CFDs can be an inexpensive way to access non-national stocks. You can trade CFDs with InvestMarkets, a premier brokerage that offers stock trading among many other assets.

Advertising

Equity exchange traded funds (ETFs)

ETFs are inexpensive and can focus on different indices, geographies, sectors, and investment styles. They allow you to diversify or focus on a particular area of ​​the economy. There isn’t a lot of downside to trading ETFs.

Stock index futures

Stock index futures are heavily leveraged and very liquid with low spreads. They usually trade through central exchanges, such as the Chicago Mercantile Exchange (CME). There is also not much downside to trading index futures.

Where can you trade stocks?

The infographic below shows that on a global scale, the US stock markets are dominant.

Stock market infographicAs of April 2020, the New York Stock Exchange and NASDAQ accounted for 45% of global stock markets.

The most important US stock indices are the S&P 500, the NASDAQ 100, the Dow 30 and the Russell 2000.

Let’s look at some examples of stock indices, starting with the S&P 500:

S&P 500

The S&P 500 is in a long term uptrend. You can see where the market dipped when the impact of COVID-19 became apparent, but the market has since recovered and continued its overall uptrend.

Final thoughts

Make sure to always expand your opportunities for the best trades available. Sometimes that means waiting for setup or looking at different charts to expand trading possibilities.

Also make sure you always pay attention to your risks. Good risk management is the key to profitable trading.

If you want to learn more about stock trading, there is no better place than FXAcademy.com, where you can deepen your knowledge of the stock markets with hundreds of articles and videos.


Source link

read more