Author Archive for InvestMacro – Page 152

The Analytical Overview of the Main Currency Pairs on 2019.10.22

by JustForex

The EUR/USD currency pair

Technical indicators of the currency pair:
  • Prev Open: 1.11605
  • Open: 1.11490
  • % chg. over the last day: -0.03
  • Day’s range: 1.11444 – 1.11568
  • 52 wk range: 1.0884 – 1.1623

The EUR/USD currency pair stabilized near two-month highs. The demand for USD has resumed again amid the prospects for a settlement of the trade conflict between Washington and Beijing. Currently, the EUR/USD quotes are consolidating. In the near future, technical correction is not ruled out. The local support and resistance levels are: 1.11350 and 1.11700, respectively. Today, investors will evaluate statistics on the real estate market in the United States. Open positions from key levels.

At 17:00 (GMT+3:00) the US will publish a report on sales in the secondary housing market.

EUR/USD

Indicators do not give accurate signals: the price crossed 50 MA.

The MACD histogram is located near the 0.

The Stochastic Oscillator is in the neutral zone, the %K line crossed the %D line. There are no signals at the moment.

Trading recommendations
  • Support levels: 1.11350, 1.11000, 1.10850
  • Resistance levels: 1.11700, 1.12000

If the price consolidates above the resistance level of 1.11700, expect further growth to 1.12000-1.12200.

Alternatively, the quotes could decrease toward 1.11000.

The GBP/USD currency pair

Technical indicators of the currency pair:
  • Prev Open: 1.29488
  • Open: 1.29580
  • % chg. over the last day: +0.32
  • Day’s range: 1.29573 – 1.29869
  • 52 wk range: 1.1959 – 1.3385

An ambiguous technical picture has developed on the GBP / USD currency pair. Sterling is currently consolidating near the round level of 1.30000. Mark 1.28900 is the nearest support. Participants in financial markets expect the results of the vote on the Brexit project. We also recommend paying attention to the news background from the USA. Positions must be opened from key levels.

The Economic News Feed for 22.10.2019 is calm.

GBP/USD

The price fixed above 50 MA and 100 MA, which signals the strength of buyers.

The MACD histogram is in the positive zone, indicating a bullish sentiment.

The Stochastic Oscillator has started to leave the overbought zone, the %K line is below the %D line, which indicates a possible correction of the GBP/USD currency pair.

Trading recommendations
  • Support levels: 1.28900, 1.27600, 1.26500
  • Resistance levels: 1.30000, 1.30500

If the price consolidates above the round level of 1.30000, expect further growth of GBP/USD quotes toward 1.30500-1.30700.

Alternatively, the quotes could decrease toward 1.28000-1.27500.

The USD/CAD currency pair

Technical indicators of the currency pair:
  • Prev Open: 1.31330
  • Open: 1.30868
  • % chg. over the last day: -0.37
  • Day’s range: 1.30711 – 1.30930
  • 52 wk range: 1.2727 – 1.3664

The USD/CAD currency pair continues to show a negative trend. The trading tool once again updated the local lows. According to preliminary results of the parliamentary elections in Canada, the Liberal Party of Prime Minister Justin Trudeau received the most votes, which provides additional support to CAD. Currently, the Canadian dollar is consolidating in the range of 1.30700-1.31000. USD/CAD quotes have the potential to further decline. Today, investors will evaluate important economic reports from Canada and the United States. We recommend opening positions from key levels.

At 15:30 (GMT+3:00) Canada will publish a report on retail sales.

USD/CAD

Indicators point to the strength of sellers: the price has fixed below 50 MA and 100 MA.

The MACD histogram is in the negative zone but above the signal line, which gives a weak signal to sell USD/CAD.

The Stochastic Oscillator is in the neutral zone, the %K line crossed the %D line. There are no signals at the moment.

Trading recommendations
  • Support levels: 1.30700, 1.30300, 1.30000
  • Resistance levels: 1.31000, 1.31450, 1.31800

If the price consolidates below 1.30700, expect a further drop toward 1.30400-1.30200.

Alternatively, the quotes could grow toward 1.31400-1.31600.

The USD/JPY currency pair

Technical indicators of the currency pair:
  • Prev Open: 108.434
  • Open: 108.576
  • % chg. over the last day: +0.19
  • Day’s range: 108.548 – 108.727
  • 52 wk range: 104.97 – 114.56

The safe haven currency is still in sideways movement. Unidirectional trends are not observed. At the moment, the local support and resistance levels are: 108.350 and 108.700, respectively. Financial market participants are waiting for new information regarding the settlement of the trade conflict between Washington and Beijing. Today we recommend paying attention to economic releases, as well as the dynamics of the yield of US government bonds. Positions must be opened from key levels.

Japan’s financial markets are closed due to the holiday.

USD/JPY

Indicators do not give accurate signals: 50 MA crossed 100 MA.

The MACD histogram is in the positive zone, but below the signal line, which gives a weak signal to buy USD/JPY.

The Stochastic Oscillator is in the neutral zone, the %K line is below the %D line, which indicates a bearish sentiment.

Trading recommendations
  • Support levels: 108.350, 108.000, 107.750
  • Resistance levels: 108.700, 108.900

If the price consolidates above 108.700, expect further growth toward 109.200.

Alternatively, expect a decrease toward 108.100-107.800.

by JustForex

The US Dollar Is Consolidating. Brexit Voting Is Canceled

by JustForex

The US dollar is changing slightly against a basket of currency majors. The dollar index (#DX) closed yesterday’s trading session with a slight increase (+0.04%). Investors’ sentiment improved amid news of positive developments in US-China talks. Chinese Vice-Foreign Minister Le Yucheng said the parties had made progress in the negotiations. US President Donald Trump, in turn, said that the settlement of the trade dispute was progressing well.

Investors also continue to monitor the situation in the UK. Yesterday, British Parliament Speaker John Bercow said that a repeat vote for or against the Brexit deal would not be held, as this issue has already been considered. He believes that the vote would be a repeat of the stage passed. The issue of the deal was already considered at the weekend, after which Boris Johnson was forced to make a request to the EU on the Brexit delay.

The “black gold” prices are consolidating. At the moment, futures for the WTI crude oil are testing the $53.55 mark per barrel. At 23:30 (GMT+3:00) API weekly crude oil stock will be published.

Market Indicators

Yesterday, the bearish sentiment was observed in the US stock markets: #SPY (-0.68%), #DIA (-0.21%), #QQQ (-0.89%).

The 10-year US government bonds yield is consolidating. At the moment, the indicator is at the level of 1.77-1.78%.

The Economic News Feed for 22.10.2019:
  • – Report on retail sales in Canada at 15:30 (GMT+3:00);
  • – Existing home sales in the US at 15:30 (GMT+3:00).

by JustForex

EURUSD: bears testing the strength of the trend line

By Alpari.com

The decline on the US dollar index has ended. Monday’s candlestick remained within Friday’s range. The DXY index still closed down, but not by much in comparison to last week.

We’re starting to see signs of an impending upwards correction. Since the dollar collapsed on the back of geopolitical developments, technical factors currently don’t wield much influence. Only trading robots are sticking to their algorithms and completely ignoring the fundamentals. If a sell signal is formed against the trend, a short position is opened. But who knows, maybe some people have disabled their Expert Advisors until the Brexit situation is resolved.

In the US session, the dollar got a boost from positive news about a US-China deal. US10Y bond yields jumped 2.7% to 1.8046. The euro dropped to 1.1139.

US economic advisor Larry Kudlow said that if the first stage of negotiations with China goes well, the tariffs planned for December may be cancelled. US President Donald Trump has said that negotiations with China are going well, adding that he hopes to sign a deal at the APEC Summit in Chile.

Day’s news (GMT+3):

  • 11:30 UK: public sector net borrowing (Sep).
  • 13:00 UK: CBI industrial trends survey – orders (Oct).
  • 15:30 Canada: retail sales (Aug).
  • 17:00 US: existing home sales (Sep), Richmond Fed manufacturing index (Oct).
  • 17:30 Canada: Bank of Canada business outlook survey.

EURUSD H1Current situation:

Expectations of a correction were met. The pair revisited Friday’s high and reversed downwards. It missed the projected target by a few pips.

The euro is trading at 1.1151. The Kiwi, Aussie, and pound are trading up against most of the majors, so today’s forecast will be similar to yesterday’s. The only difference is that we don’t expect a fresh high today. Before breaking through the trend line, there’s likely to be a bounce, which will help gather momentum for the breakout. The pair could retrace 76% of yesterday’s drop.

The EURGBP cross is in the red. This means that the euro crosses are under pressure. Today’s calendar is devoid of any significant events, although it’s still worth keeping an eye on UK data.

Another discussion will take place on the Brexit deal in the British parliament today, after which a vote will take place. There may be talk on Wednesday of a second referendum. The boat might also be rocked by talk of a snap election.

In conclusion, the bullish impulse is waning. However, before we get a downwards correction, a false upwards breakout is possible. Around 1.1126 and 1.1110 is a good area for a correction.

By Alpari.com

U-Turn or Perfect Storm? Globalization at Crossroads

By Dan Steinbock    

Only 12 years ago, globalization peaked. Today, it is in the doldrums and the Trump trade wars have nullified the recovery. We are at a crossroads, where globalization may further stagnate or fall apart.

According to the new IMF outlook, global growth is forecast at 3.0% for 2019. That’s the lowest since the global crisis of 2008-9. It is largely due to the US tariff wars, which have contributed to the projected slowdown in the US and China.

The IMF projects growth to pick up to 3.4% in 2020. That, however, is predicated on improvements in a number of emerging economies in Latin America, the Middle East and developing Europe, which, in turn, would require a trade recovery. Thanks to the global slowdown, world growth prospects now hover at levels where they were last in the darkest moments of 2008/9.

Worse, the state of globalization reflect even darker scenarios. At the peak of globalization, the Baltic Dry Index (BDI) was often used as a barometer for international commodity trade. The index soared to a record high in May 2008 reaching 11,793 points. But as the financial crisis spread in the advanced West, it plunged by 94% to 663 points.

Last February, the BDI hit even worse; 595 points. In September, optimistic trade speculation drove the index up to 2,500. Now it’s back to around 1,900, some 85% below its peak and where it first was around 2003. Unfortunately, broader measures of global economic engagement offer equally dire visions.

Plunging world investment

Global economic integration is usually measured by world trade, investment, and migration. Before the global crisis in 2008, world investment soared to almost $2 trillion. Before the Trump presidency, the UN still predicted that global FDI flows were projected to resume growth in 2017 and to surpass $1.8 trillion in 2018.

At the time, I predicted the improvement was unlikely and world investment would either continue to stagnate or worse. In hindsight, the latter proved true. In 2018, global FDI flows slid by 13%, to $1.3 trillion; the third consecutive annual decline.

The contraction was heralded by US multinationals repatriating earnings from abroad by exploiting the Trump tax reforms. As a result, FDI flows in advanced economies fell to levels last seen in 2004. Geopolitics and trade tensions virtually ensure that risk and uncertainty will weigh on FDI flows in the ongoing year and beyond.

In 2018, the U.S. remained the largest recipient of FDI, followed by China, Hong Kong and Singapore. However, as US tariff wars and domestic divisions are expanding, investors are scrutinizing even US investments. China is suffering from US neo-containment policies. Singapore barely avoided a technical recession.

In addition to suffering from downgraded global and trade outlooks, structural maturing and aging, democracy destabilization in Hong Kong could severely undermine its economic prospects in the foreseeable future.

Undermined world trade recovery

In 2017, world merchandise trade recorded its strongest growth in six years. According to the World Trade Organization (WTO), the ratio of trade growth to GDP growth returned to its historic average of 1.5, far above the 1.0 ratio recorded in the years following the 2008 financial crisis.

At the time, I suggested that WTO was overly optimistic. As the US tariff wars would materialize in 2018, trade outlooks would be downgraded. And that’s pretty much what happened.

Last spring, WTO expected world trade to continue to face strong headwinds in 2019 and 2020, thanks to elevated trade tensions and increased economic uncertainty. Now it is setting its hope for 2020, when it expects trade growth to rebound to 3.0%.

Unfortunately, the WTO is neglecting the prospects of continued and deteriorating trade conflicts and the simple reality that by 2020 Pentagon hopes to complete the worldwide transfer of 60% of its warship capacity to Asia Pacific.

In the absence of countervailing forces, the twin trends will ensure elevated geopolitical tensions and undermined economic prospects.

From migration restrictions to refugee crises

While international media tends to linger in refugee crises in Southern Europe and US Mexican border, the global displacement burden falls disproportionately on emerging and developing economies.

According to the UN Refugee Agency (UNHCR), almost 71 million people were displaced as of the close of 2018, while some 13.6 million people became newly displaced during the year due to wars or persecution.

Overwhelmingly it is developing countries that are most affected, thanks to destabilization, violent conflicts and regime-change policies. At the end of 2019, Syrians still made up the largest forcibly displaced population (13 million), followed by Colombians (8m), Congolese (5.4m) and Afghanistan (5.1m).

The number of the globally displaced is the highest in the UNHCR’s 70-year history and the greatest since 1945, despite peaceful conditions – for now.

Too close to the abyss

We live amid a world-historical moment. In 2008-9, the global crisis was contained by massive fiscal stimulus packages, ultra-low rates and, when that proved inadequate, rounds of quantitative easing.

Now, a decade after the crisis, central banks’ rates remain ultra-low and most continue asset purchases, whereas soaring debt levels limit new fiscal injections. In the next global crisis, there will be no or only leaking lifeboats.

After 1945, reason prevailed as the international community opted for accelerated world trade, investment, even migration. Following three decades of misguided policies, tens of millions of war dead, the Holocaust, Hiroshima and Nagasaki, it was recognized that other alternatives were prohibitive.

Perhaps we have forgotten the lessons.

 About the Author:

Dr. Dan Steinbock is an internationally recognized strategist of the multipolar world and the founder of Difference Group. He has served at the India, China and America Institute (US), the Shanghai Institutes for International Studies (China) and the EU Center (Singapore). For more, see https://www.differencegroup.net/   

A version of the commentary was released by South China Morning Post (Hong Kong) on October 22, 2019

 

 

The Pandas Library for Python

By Zachary Wilson for Kite.com

Tables of Contents

  • Introduction to Pandas
  • About the Data
  • Setup
  • Loading Data
  • Basic Operations
  • The Dtype
  • Cleansing and Transforming Data
  • Performing Basic Operations
    • Calculations
    • Booleans
    • Grouping
    • Plotting
  • Exporting Transformed Data
  • Final Notes

Introduction to Pandas

So, what is Pandas – practically speaking? In short, it’s the major data analysis library for Python. For scientists, students, and professional developers alike, Pandas represents a central reason for any learning or interaction with Python, as opposed to a statistics-specific language like R, or a proprietary academic package like SPSS or Matlab. (Fun fact – Pandas is named after the term Panel Data, and was originally created for the analysis of financial data tables). I like to think that the final “s” stands for Series or Statistics.

Although there are plenty of ways to explore numerical data with Python out-of-the box, these will universally involve some fairly low-performance results, with a ton of boilerplate. It may sound hard to believe, but Pandas is often recommended as the next stop for Excel users who are ready to take their data analysis to the next level. Nearly any problem that can be solved with a spreadsheet program can be solved in Pandas – without all the graphical cruft.

More importantly, because problems can be solved in Pandas via Python, solutions are already automated, or could be run as a service in the cloud. Further, Pandas makes heavy use of Numpy, relying on its low level calls to produce linear math results orders of magnitude more quickly than they would be handled by Python alone. These are just a few of the reasons Pandas is recommended as one of the first libraries to learn for all Pythonistas, and remains absolutely critical to Data Scientists.

About the Data

In this post, we’re going to be using a fascinating data set to demonstrate a useful slice of the Pandas library. This data set is particularly interesting as it’s part of a real world example, and we can all imagine people lined up at an airport (a place where things do occasionally go wrong). When looking at the data, I imagine people people sitting in those uncomfortable airport seats having just found out that their luggage is missing – not just temporarily, but it’s nowhere to be found in the system! Or, better yet, imagine that a hardworking TSA employee accidentally broke a precious family heirloom.

So it’s time to fill out another form, of course. Now, getting data from forms is an interesting process as far as data gathering is concerned, as we have a set of data that happens at specific times. This actually means we can interpret the entries as a Time Series. Also, because people are submitting the information, we can learn things about a group of people, too.

Back to our example: let’s say we work for the TSA and we’ve been tasked with getting some insights about when these accidents are most likely to happen, and make some recommendations for improving the service.

Pandas, luckily, is a one-stop shop for exploring and analyzing this data set. Feel free to download the excel file into your project folder to get started, or run the curl command below. Yes, pandas can read .xls or .xlsx files with a single call to pd.read_excel()! In fact, it’s often helpful for beginners experienced with .csv or excel files to think about how they would solve a problem in excel, and then experience how much easier it can be in Pandas.

So, without further ado, open your terminal, a text editor, or your favorite IDE, and take a look for yourself with the guidance below.

Example data:

Take for example, some claims made against the TSA during a screening process of persons or a passenger’s property due to an injury, loss, or damage. The claims data information includes claim number, incident date, claim type, claim amount, status, and disposition.

Directory: TSA Claims Data
Our Data Download: claims-2014.xls

Setup

To start off, let’s create a clean directory. You can put this wherever you’d like, or create a project folder in an IDE. Use your install method of choice to get Pandas: Pip is probably the easiest.

$ mkdir -p ~/Desktop/pandas-tutorial/data && cd ~/Desktop/pandas-tutorial

Install pandas along with xldr for loading Excel formatted files, matplotlib for plotting graphs, and Numpy for high-level mathematical functions.

$ pip3 install matplotlib numpy pandas xldr

Optional: download the example data with curl:

$ curl -O https://www.dhs.gov/sites/default/files/publications/claims-2014.xls

Launch Python:

$ python3
Python 3.7.1 (default, Nov  6 2018, 18:46:03)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Import packages:

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> import pandas as pd

Loading Data

Loading data with Pandas is easy. Pandas can accurately read data from almost any common format including JSON, CSV, and SQL. Data is loaded into Pandas’ “flagship” data structure, the DataFrame.

That’s a term you’ll want to remember. You’ll be hearing a lot about DataFrames. If that term seems confusing – think about a table in a database, or a sheet in Excel. The main point is that there is more than one column: each row or entry has multiple fields which are consistent from one row to the next.

You can load the example data straight from the web:

>>> df = pd.read_excel(io='https://www.dhs.gov/sites/default/files/publications/claims-2014.xls', index_col='Claim Number')

Less cooly, data can be loaded from a file:

$ curl -O https://www.dhs.gov/sites/default/files/publications/claims-2014.xls

>>> df = pd.read_excel(io='claims-2014.xls', index_col='Claim Number')

Basic Operations

Print information about a DataFrame including the index dtype and column dtypes, non-null values, and memory usage. DataFrame.info() is one of the more useful and versatile methods attached to DataFrames (there are nearly 150!).

>>> df.info()
 'pandas.core.frame.dataframe'="">
Int64Index: 8855 entries, 2013081805991 to 2015012220083
Data columns (total 10 columns):
Date Received    8855 non-null datetime64[ns]
Incident Date    8855 non-null datetime64[ns]
Airport Code     8855 non-null object
Airport Name     8855 non-null object
Airline Name     8855 non-null object
Claim Type       8855 non-null object
Claim Site       8855 non-null object
Item Category    8855 non-null object
Close Amount     8855 non-null object
Disposition      8855 non-null object
dtypes: datetime64[ns](2), object(8)
memory usage: 761.0+ KB

View the first n rows:

>>> df.info()
 '="">>> df.head(n=3)  # see also df.tail()
    Claim Number Date Received       Incident Date Airport Code       ...              Claim Site                   Item Category Close Amount      Disposition
0  2013081805991    2014-01-13 2012-12-21 00:00:00          HPN       ...         Checked Baggage  Audio/Video; Jewelry & Watches            0             Deny
1  2014080215586    2014-07-17 2014-06-30 18:38:00          MCO       ...         Checked Baggage                               -            0             Deny
2  2014010710583    2014-01-07 2013-12-27 22:00:00          SJU       ...         Checked Baggage                    Food & Drink           50  Approve in Full

[3 rows x 11 columns]

List all the columns in the DataFrame:

>>> df.columns
Index(['Claim Number', 'Date Received', 'Incident Date', 'Airport Code',
       'Airport Name', 'Airline Name', 'Claim Type', 'Claim Site',
       'Item Category', 'Close Amount', 'Disposition'],
      dtype='object')

Return a single column (important – also referred to as a Series):

>>> df['Claim Type'].head()
0    Personal Injury
1    Property Damage
2    Property Damage
3    Property Damage
4    Property Damage
Name: Claim Type, dtype: object

Hopefully, you’re starting to get an idea of what claims-2014.xls’s data is all about.

The Dtype

Data types are a fundamental concept that you’ll want to have a solid grasp of in order to avoid frustration later. Pandas adopts the nomenclature of Numpy, referring to a column’s data type as its dtype. Pandas also attempts to infer dtypes upon DataFrame construction (i.e. initialization).

To take advantage of the performance boosts intrinsic to Numpy, we need to become familiar with these types, and learn about how they roughly translate to native Python types.

Look again at df.info() and note the dtype assigned to each column of our DataFrame:

>>> df.info()
 'pandas.core.frame.dataframe'="">
RangeIndex: 8855 entries, 0 to 8854
Data columns (total 11 columns):
Date Received    8855 non-null datetime64[ns]
Incident Date    8855 non-null datetime64[ns]
Airport Code     8855 non-null object
Airport Name     8855 non-null object
Airline Name     8855 non-null object
Claim Type       8855 non-null object
Claim Site       8855 non-null object
Item Category    8855 non-null object
Close Amount     8855 non-null object
Disposition      8855 non-null object
dtypes: datetime64[ns](2), object(8)
memory usage: 761.1+ KB

dtypes are analogous to text/number format settings typical of most spreadsheet applications, and Pandas uses dtypes to determine which kind(s) of operations may be performed the data in a specific column. For example, mathematical operations can only be performed on numeric data types such as int64 or float64. Columns containing valid Dates and/or time values are assigned the datetime dtype and text and or binary data is assigned the catchall object dtype.

In short, Pandas attempts to infer dtypes upon DataFrame construction. However, like many data analysis applications, the process isn’t always perfect.

It’s important to note that Pandas dtype inference errs on the side of caution: if a Series appears to contain more than one type of data, it’s assigned a catch-all dtype of ‘object’. This behavior is less flexible than a typical spreadsheet application and is intended to ensure dtypes are not inferred incorrectly but also requires the analyst to ensure the data is “clean” after it’s loaded.

Cleansing and Transforming Data

Data is almost always dirty: it almost always contains some datum with atypical formatting; some artifact unique to its medium of origin. Therefore, cleansing data is crucial to ensuring analysis derived therefrom is sound. The work of cleansing with Pandas primarily involves identifying and re-casting incorrectly inferred dtypes.

>>> df.dtypes
Date Received    datetime64[ns]
Incident Date    datetime64[ns]
Airport Code             object
Airport Name             object
Airline Name             object
Claim Type               object
Claim Site               object
Item Category            object
Close Amount             object
Disposition              object
dtype: object

Looking again at our DataFrame’s dtypes we can see that Pandas correctly inferred the dtypes of Date Received and Incident Date as datetime64 dtypes. Thus, datetime attributes of the column’s data are accessible during operations. For example, to summarize our data by the hour of the day when each incident occurred we can group and summarize our data by the hour element of a datetime64 column to determine which hours of the day certain types of incidents occur.

>>> grp = df.groupby(by=df['Incident Date'].dt.hour)
>>> grp['Item Category'].describe()
              count unique                   top freq
Incident Date
0              3421    146  Baggage/Cases/Purses  489
1                 6      5                 Other    2
2                11      9                     -    2
3                 5      5     Jewelry & Watches    1
4                49     18  Baggage/Cases/Purses    6
5               257     39                     -   33
6               357     54                     -   43
7               343     43              Clothing   41
8               299     47                     -   35
9               305     41                     -   31
10              349     45                 Other   43
11              343     41                     -   45
12              363     51                 Other   41
13              359     55                     -   45
14              386     60  Baggage/Cases/Purses   49
15              376     51                 Other   41
16              351     43  Personal Electronics   35
17              307     52                 Other   34
18              289     43  Baggage/Cases/Purses   37
19              241     46  Baggage/Cases/Purses   26
20              163     31  Baggage/Cases/Purses   23
21              104     32  Baggage/Cases/Purses   20
22              106     33  Baggage/Cases/Purses   19
23               65     25  Baggage/Cases/Purses   14

This works out quite perfectly – however, note that Close Amount was loaded as an object. Words like “Amount” are a good indicator that a column contains numeric values.

Let’s take a look at the values in Close Amount.

>>> df['Close Amount'].head()
0     0
1     0
2    50
3     0
4     0
Name: Close Amount, dtype: object

Those look like numeric values to me. So let’s take a look at the other end

>>> df['Close Amount'].tail()
8850      0
8851    800
8852      0
8853    256
8854      -
Name: Close Amount, dtype: object

There’s the culprit: index # 8854 is a string value.

If Pandas can’t objectively determine that all of the values contained in a DataFrame column are the same numeric or date/time dtype, it defaults to an object.

Luckily, I know from experience that Excel’s “Accounting” number format typically formats 0.00 as a dash, -.

So how do we fix this? Pandas provides a general method, DataFrame.apply, which can be used to apply any single-argument function to each value of one or more of its columns.

In this case, we’ll use it to simultaneously convert the – to the value it represents in Excel, 0.0 and re-cast the entire column’s initial object dtype to its correct dtype a float64.

First, we’ll define a new function to perform the conversion:

>>> def dash_to_zero(x):
>>>    if '-' in str(x):
>>>        return float() # 0.0
>>>    else:
>>>        return x  # just return the input value as-is

Then, we’ll apply the function to each value of Close Amount:

>>> df['Close Amount'] = df['Close Amount'].apply(dash_to_zero)
>>> df['Close Amount'].dtype
dtype('float64')

These two steps can also be combined into a single-line operation using Python’s lambda:

>>> df['Close Amount'].apply(lambda x: 0. if '-' in str(x) else x)

Performing Basic Analysis

Once you’re confident that your dataset is “clean,” you’re ready for some data analysis! Aggregation is the process of getting summary data that may be more useful than the finely grained values we are given to start with.

Calculations

>>> df.sum()
Close Amount    538739.51
dtype: float64


>>> df.min()
Date Received              2014-01-01 00:00:00
Incident Date              2011-08-24 08:30:00
Airport Code                                 -
Airport Name      Albert J Ellis, Jacksonville
Airline Name                                 -
Claim Type                                   -
Claim Site                                   -
Item Category                                -
Close Amount                                 0
Disposition                                  -


>>> df.max()
Date Received                       2014-12-31 00:00:00
Incident Date                       2014-12-31 00:00:00
Airport Code                                        ZZZ
Airport Name                 Yuma International Airport
Airline Name                                 XL Airways
Claim Type                              Property Damage
Claim Site                                        Other
Item Category    Travel Accessories; Travel Accessories
Close Amount                                    25483.4
Disposition                                      Settle
dtype: object

Booleans

Find all of the rows where Close Amount is greater than zero. This is helpful because we’d like to see some patterins where the amount is actually positive, and show how conditional operators work.

>>> df[df['Close Amount'] > 0].describe()
       Close Amount
count   2360.000000
mean     228.279453
std      743.720179
min        1.250000
25%       44.470000
50%      100.000000
75%      240.942500
max    25483.440000

Grouping

In this example, we’ll walk through how to group by a single column’s values.

The Groupby object is an intermediate step that allows us to aggregate on several rows which share something in common – in this case, the disposition value. This is useful because we get a birds-eye view of different categories of data. Ultimately, we use describe() to see several aggregates at once.

>>> grp = df.groupby(by='Disposition')
>>> grp.describe()
                Close Amount
                       count        mean          std   min       25%      50%       75%       max
Disposition
-                     3737.0    0.000000     0.000000  0.00    0.0000    0.000    0.0000      0.00
Approve in Full       1668.0  158.812116   314.532028  1.25   32.9625   79.675  159.3375   6183.36
Deny                  2758.0    0.000000     0.000000  0.00    0.0000    0.000    0.0000      0.00
Settle                 692.0  395.723844  1268.818458  6.00  100.0000  225.000  425.6100  25483.44

Group by multiple columns:

>>> grp = df.groupby(by=['Disposition', 'Claim Site'])
>>> grp.describe()
                                Close Amount
                                       count         mean          std     min       25%       50%        75%       max
Disposition     Claim Site
-               -                       34.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Bus Station              2.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Checked Baggage       2759.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Checkpoint             903.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Motor Vehicle           28.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Other                   11.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
Approve in Full Checked Baggage       1162.0   113.868072   192.166683    1.25   25.6600    60.075   125.9825   2200.00
                Checkpoint             493.0   236.643367   404.707047    8.95   60.0000   124.000   250.1400   6183.36
                Motor Vehicle            9.0  1591.428889  1459.368190  493.80  630.0000   930.180  1755.9800   5158.05
                Other                    4.0   398.967500   358.710134   61.11  207.2775   317.385   509.0750    899.99
Deny            -                        4.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Checked Baggage       2333.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Checkpoint             407.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
                Motor Vehicle            1.0     0.000000          NaN    0.00    0.0000     0.000     0.0000      0.00
                Other                   13.0     0.000000     0.000000    0.00    0.0000     0.000     0.0000      0.00
Settle          Checked Baggage        432.0   286.271968   339.487254    7.25   77.0700   179.995   361.5700   2500.00
                Checkpoint             254.0   487.173031  1620.156849    6.00  166.9250   281.000   496.3925  25483.44
                Motor Vehicle            6.0  4404.910000  7680.169379  244.00  841.8125  1581.780  2215.5025  20000.00

Plotting

While aggregates on groups of data is one of the best ways to get insights, visualizing data lets patterns jump out from the page, and is straightforward for those who aren’t as familiar with aggregate values. Properly formatted visualizations are critical to communicating meaning in the data, and it’s nice to see that Pandas has some of these functions out of the box:

>>> df.plot(x='Incident Date', y='Close Amount')
>>> plt.show()

Incident Date by Close Amount

Exporting Transformed Data

Finally, we may need to commit either our original data, or the aggregates as a DataFrame to file format different than the one we started with, as Pandas does not limit you to writing back out to the same file format.

The most common flat file to write to from Pandas will be the .csv. From the visualization, it looks like the cost of TSA claims, while occasionally very high due to some outliers is improving in 2015. We should probably recommend comparing staffing and procedural changes to continue in that direction, and explore in more detail why we have more incidents at certain times of day.

Like loading data, Pandas offers a number of methods for writing your data to file in various formats. Writing back to an Excel file is slightly more involved than the others, so let’s write to an even more portable format: CSV. To write your transformed dataset to a new CSV file:

>>> df.to_csv(path_or_buf='claims-2014.v1.csv')

Final Notes

Here we’ve seen a workflow that is both interesting and powerful. We’ve taken a round-trip all the way from a government excel file, into Python, through some fairly powerful data visualization, and back to a .csv file which could be more universally accessed–all through the power of Pandas. Further, we’ve covered the three central objects in Pandas – DataFrames, Series, and dtypes. Best of all, we have a deeper understanding of an interesting, real-world data set.

These are the core concepts to understand when working with Pandas, and now you can ask intelligent questions (of yourself, or of Google) about these different objects. This TSA data use case has shown us exactly what Pandas is good for: the exploration, analysis, and aggregation of data to draw conclusions.

The analysis and exploration of data is important in practically any field, but it is especially useful to Data Scientists and AI professionals who may need to crunch and clean data in very specific, finely-grained ways, like getting moving averages on stock ticks. Additionally, certain tasks may need to be automated, and this could prove difficult or expensive in sprawling applications like Excel, or Google Sheets, which may not offer all the functionality of Pandas with the full power of Python.

Just imagine telling a business administrator that they may never have to run that broken spreadsheet macro ever again! Once analysis is automated, it can be deployed as a service or applied to hundreds of thousands of records streaming from a database. Alternatively, Pandas could be used to make critical decisions after establishing statistical associations between patterns, as indeed it is every day.

Next, be sure to checkout at Python’s extensive database libraries (e.g. SQLalchemy), or API clients (like the Google Sheets/Slides Python Client or Airtable API to put your results in front of domain experts). The possibilities are endless, and are only enhanced by Python’s mature libraries and active community.

This article originally appeared on Kite.com (Reprinted with permission)

 

Black Monday 1987 vs 2019 – Part II

By TheTechnicalTraders.com

Our research team has been attempting to answer the question that seems to be on everyone’s minds right now – are we setting up another Black Monday type of event in the global markets and what should traders/investors know before the event potentially takes place.  Our research team has spent the past few weeks trying to better understand the global economic events that took place 8 to 20+ years before the Black Monday event happened and have been particularly interested in the 10+ years just before the Black Monday event.  Additionally, we’ll focus on the recovery event that took place after the Black Monday collapse completed.

In Part I of this article, we attempted to highlight some of the similarities of today’s global economic world to the scenario in the early 1980s.  Many of you may not be old enough to remember the 1960s or 1970s, but at least one individual on our research team is old enough and was actively trading in 1985.  His interpretation of the economic events prior to the 1987 Black Monday collapse and how they may be similar to today highlight some very interesting facets for our readers.

The late 1970s was a period where most Americans worked hard, tried to play by the rules and struggled to attempt to get ahead in a world that seemed to be a little out of order.  The 1960s was a period of awakening in America where music, culture, and people shifted away from the WWII era and post-WWII era thinking.  Vietnam, Korea and a host of other issues, as well as rising US interest rates, presented very real problems for many Americans.  By the time the US entered the 1980s, Americans had already experienced the assassination of John F. Kennedy, the race to the moon, multiple wars, victories and defeats, a cultural shift to near the extremes and another shift moving our culture back closer to center, Oil/energy crisis events, a moderate malaise of economic prosperity, and continually higher US interest rates.  Then the US elected Ronald Reagan.

It seemed to everyone that Ronald Reagan had unlocked secrets to the American opportunity that had been somewhat lost over the previous few decades.  In reality, the first 2 to 3 years of the Reagan Presidency resulted in very mixed economic results – almost identical to President Carter’s.  The biggest identifying factor that our research team found was that the US Federal Reserve altered its rate policy in the early Reagan years from a “raising stance” to a “declining stance”.  Throughout Carter’s term, the FFR rate change averaged +2.08.  Throughout the first four years under Reagan’s term, the FFR rate change averaged -0.7825.  By 1984, the US Federal Reserve had lowered rates, twice, by an average of over 7% after raising rates every year since 1977.

(source: https://einvestingforbeginners.com/us-gdp-growth-history/)

Is this similar to what is happening today?  The US Federal Reserve began raising rates in December 2015 and continued to raise rates until August 2019 – nearly 3.7 years of rate increases after nearly a decade of near-zero interest rates prior to 2016.

Another interesting facet is what our research team calls the “capital shift” that has taken place since just before 2015 – where foreign capital has poured into the US stock market and asset markets for safety, security, and returns.  Prior to the point where capital controls were instigated in China (in 2015), a moderate capital shift event was already taking place.  Once China installed these new capital controls, attempting to prevent capital from fleeing their local economy, a broader shift took place where the US markets began to rally and where foreign capital was more actively attracted to the US stock/asset markets because of the strength of the US Dollar and the continued rally in the US stock market.  This is similar to what happened in 1983 through 1987.

These comparison charts of the 1980s and the current 8+ years of the S&P 500 charts highlight some very interesting facets of both peaks.

_  Support set up nearly 24 months prior to the collapse in 1987. This support channel became the ultimate price channel level to break as Black Monday hit.

_  Price was able to rally above the upper price channel three times before the breakdown event began.  This upper price channel mirrors the lower price channel slope and is anchored near the tops after the initial support bottom is setup.

_  The final rally attempt before Black Monday initiated near early January 1987 – nearly 9 months before the peak and 10 months before the price breakdown began.

Within the current S&P 500 chart, some slight variations are present.

_  Support set up nearly 44 months prior to the peak in 2019. This support channel is the ultimate price channel level that acts as ultimate support for the price trend.

_  Price has been able to rally above the upper price channel four times since the ultimate support level was set up in 2016

_  The most recent rally attempt initiated near early January 2019 and has lasted nearly 9 months before the current peak.  As of today, we are nearly a full 10 months into this new price rally.

Although there are subtle differences in the price setup, rotation, and trend lengths, we can certainly see a similarity in between these two chart and we believe the recent price advance in the US stock market, along with the fact that capital has continued to pour into the US markets over the past 3+ years, sets up a similar type of event where current price levels, valuation, and risks may have been under-weighted dramatically.

Could another Black Monday type of event happen in today’s global markets?  Certainly, it could.  All it would take is for global traders/investors to suddenly realize there is a new degree of risk or excessive price valuation that currently exists in the markets and to begin liquidating assets in a mass event.

What would it take for something like this to happen?  Quite possibly, China or Hong Kong could, again, present a very real risk for the global markets if a threat to the lower price support channel becomes threatened.  A collapse in true value would relate as a potential “true price exploration” event (a reversion event) where global traders may attempt to retest substantial historical support.

Our belief is that true historical support currently resides near 1860 on the S&P 500 – which aligns with the same type of price reversion that occurred in 1987.

Time will tell if we are currently set up for another Black Monday event.  In fact, we may know as early as Monday, October, 21.  Until the lower support channel is seriously threatened by any new downside price move, the chances of this type of event happening are fairly low.  As you are well aware.. things can change very quickly.  Pay attention to near originating out of Hong Kong, China or Asia over the weekends as any type of real risk could spill over into the UK and US markets very early on Mondays.

As a technical analysis and trader since 1997, I have been through a few bull/bear market cycles. I believe I have a good pulse on the market and timing key turning points for both short-term swing trading and long-term investment capital. The opportunities are massive/life-changing if handled properly.

I urge you visit my ETF Wealth Building Newsletter and if you like what I offer, join me with the 1-year subscription to lock in the lowest rate possible and ride my coattails as I navigate these financial market and build wealth while others lose nearly everything they own during the next financial crisis. Join Today to Get a Free 1oz Silver Bar with a subscription – Offer Ends This Week!

Chris Vermeulen

TheTechnicalTraders.com

Brexit: Speaker’s refusal won’t hit pound but inflicts more uncertainty on business and economy

By George Prior

The pound will experience a short-term relief rally, but John Bercow’s refusal to allow a Meaningful Vote on the new Brexit deal will further weigh on the UK economy.

This is the stark warning from Nigel Green, the CEO and founder of deVere Group, one of the world’s largest independent financial advisory organizations.

His analysis comes after the Speaker of the House of Commons says there will be no Meaningful Vote on Monday, saying it is the “same matter” and therefore cannot be put to MPs again.

Mr Green comments: “The pound experienced a small knock to the downside, but barely. There was no major surprise.

“This underscores that traders are waiting patiently because they expect the EU to grant an extension to Brexit in the coming days.

“When this happens, we can expect sterling to rally more significantly.

“I also stand by my prediction that should the Prime Minister’s deal be ratified, we can expect the pound to jump sharply.  It would be likely to hit at least $1.35 as the prospect of a no-deal, and/or months of further uncertainty ends.

“Sentiment towards UK stocks would also rally, particularly given the attractive valuations of many UK companies.”

He continues: “Whilst the pound remains largely unmoved, the decision by the Speaker could inflict further damage to the UK economy as the precedented uncertainty and chaos continue to drag on.

“Wealth, jobs and opportunity-generating businesses – both in the UK and internationally- are crying out for certainty.

“Brexit uncertainty is seriously denting business investment and confidence in the UK – and the fallout of this has cost Britain three and a half years of lost opportunity and many tens of billions of pounds.

“It could take a decade or so to recover, even if that recovery of certainty starts now.”

Mr Green adds: “Britain is losing its edge in a competitive global economy with the Brexit deadlock and politicking.  It is likely to underperform against peers for many years to come.

“And on top of it all, despite some reports to the contrary, there is still the risk of a no-deal Brexit which would further compound the less-than-idyllic current situation. The reason this risk remains is that the EU may not agree to an extension and parliament has not agreed the deal.”

The deVere CEO concludes: “Whilst the pound, the so-called Brexit bellwether may not be impacted too significantly by the Speaker’s refusal to allow a Meaningful Vote on Monday, the wider economy will be impacted due to the damaging ongoing uncertainty it creates.

“It is perhaps therefore unsurprising that UK and international investors in UK assets are responding to the uncertainties posed by Brexit by considering removing their wealth from the UK.”

About:

deVere Group is one of the world’s largest independent advisors of specialist global financial solutions to international, local mass affluent, and high-net-worth clients.  It has a network of more than 70 offices across the world, over 80,000 clients and $12bn under advisement

 

 

Can You Predict the Next Financial Crisis?

By DailyFX.com

There are speculations that the global economy is headed towards a recession. The escalation in the US-China trade war, the inhibiting growth in the US, the long recession in Germany, the Chinese debt crisis and Brexit uncertainty all indicate a looming financial crisis.

It seems circumspect, then, to look back before we try to plan ahead. How do financial crises occur, what factors cause them and what are the early signs to predict one?

Financial Crisis Headline Montage (pingnews) by pingnews.com is licensed under CC BY 2.0

What is a Financial Crisis?

When a financial crisis occurs, financial institutions face liquidity shortages, businesses and individuals are unable to pay their loans and asset prices see a slump in their value. Most often investors frantically sell off their assets or withdraw money from savings accounts during a financial crisis, fearing the value of their assets might fall if they remain in a financial institution.

Other situations that can be seen as a financial crisis include a stock market crash, a financial bubble burst, a sovereign default or a currency crisis. A financial crisis can be as limited as only affecting one bank or as widespread as affecting global economies. When the financial stability of individuals and organisations dwindle, it could mean an inevitable crisis.

What Are the Causes of a Financial Crisis?

Multiple issues can lead to a financial crisis. One common cause is the overvaluation of institutions and assets, which can be worsened by irrational or herd-like investor behaviour. Rapid asset sell offs can lower asset prices, compelling individuals to dump assets or withdraw savings when a bank is rumoured to fail.

Other significant contributing factors are systemic failures, uncontrollable and sudden shift in human behaviour, regulatory failures, incentives to take huge risks and contagion factors that spread crisis across geographic areas.

Even when individuals and organisations have taken preventive measures, a financial crisis can still happen, accelerate and worsen.

Early Warning Signs to Help You Predict the Next Financial Crisis

  • Consistent stock market losses – The stock market indicates the overall economic health. Though a stock market plunge is not always a sign of recession, there are plenty of reasons why we should take notice of the lows in the stock market for a hint of a looming financial crisis. The longer a bear market lasts, the greater the chances it is signalling a recession.
  • High wage growth – The top expense for businesses is employee salaries. When unemployment levels reduce there are less qualified workers in the job market and companies have to offer higher wages. Wage inflation results in an unsustainable expense for companies, and as a result they slow growth and cut jobs.
  • Rising inflation – Like growing wages, a small amount of inflation is considered a good thing. It means unemployment is low and people are paid well, which encourages them to spend money. But when inflation rises steeply it forces an increase in interest rates. That in turn makes borrowing more expensive. When companies are already expecting an economic slowdown, they are even less likely to invest in new talent and equipment if interest rates increase.
  • Low unemployment rates – Recession watchers and experts know that a super-low unemployment rate can become a catalyst for an economic slowdown. In the past the US economy has witnessed a financial crisis after nine months of the unemployment rate reaching its lowest point.
  • Drops in housing construction and sales – A major driver of the US market is the housing industry, which adds up to one-sixth of the country’s GDP. Economists like to pay close attention to the number of new housing projects, as it indicates builders are confident that the economy will grow and perform well. Otherwise, if housing projects stall and reduce, it could be a warning sign of a recession.

Financial crises can turn the economy upside down. These events can force people to change the way they work and face several challenges. It is better to be armed with the knowledge to know when a financial crisis is around the corner so that you can prepare to face the situation and fare the time well.

By DailyFX.com

 

Forex Technical Analysis & Forecast 21.10.2019 (EURUSD, GBPUSD, USDCHF, USDJPY, AUDUSD, USDRUB, USDCAD, GOLD, BRENT, BTCUSD)

Article By RoboForex.com

EURUSD, “Euro vs US Dollar”

After breaking 1.1140, EURUSD has expanded the range towards 1.1170. Possibly, today the pair may fall to return to 1.1140 and then grow to reach 1.1155. If later the price breaks this range to the upside, the instrument may form one more ascending structure towards 1.1175; if to the downside – start a new correction with the target at 1.1072.

EURUSD
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

GBPUSD, “Great Britain Pound vs US Dollar”

GBPUSD has completed the descending impulse at 1.2880. Today, the pair may grow towards 1.2944, thus forming a new consolidation range between these two levels. If later the price breaks this range to the downside, the instrument may start another correction towards 1.2777; if to the upside – resume trading upwards to reach 1.3000 and then continue moving inside the downtrend with the first target at 1.2555.

GBPUSD
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

USDCHF, “US Dollar vs Swiss Franc”

USDCHF is moving upwards to reach 0.9865. After that, the instrument may fall towards 0.9850. If later the price breaks this range to the upside, the instrument may form one more ascending structure towards 0.9927; if to the downside – start a new decline to reach 0.9830 and then resume trading upwards with the first target at 0.9930.

USDCHF
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

USDJPY, “US Dollar vs Japanese Yen”

USDJPY has completed the ascending structure at 108.51. Possibly, the pair may continue falling towards 108.21 and then resume moving upwards to return to 108.51. If later the price breaks this range to the downside, the instrument may form a new descending structure with the first target at 107.98.

USDJPY
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

AUDUSD, “Australian Dollar vs US Dollar”

AUDUSD is moving upwards. Possibly, the pair may reach 0.6864. After that, the instrument may start another decline with the first target at 0.6791.

AUDUSD
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

USDRUB, “US Dollar vs Russian Ruble”

USDRUB is consolidating below 64.04. According to the main scenario, the price is expected to continue falling to reach 63.63. Later, the market may grow towards 63.85 and then continue trading inside the downtrend with the target at 63.53.

USDRUB
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

USDCAD, “US Dollar vs Canadian Dollar”

USDCAD has reached the downside target at 1.3125. Today, the pair may grow to reach 1.3177 and then continue falling towards 1.3155. Later, the market may break this range to the upside and form one more ascending structure with the first target at 1.3344.

USDCAD
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

XAUUSD, “Gold vs US Dollar”

Gold is still consolidating above 1487.70. Possibly, the pair may grow towards 1498.30 and then resume falling to break 1483.60 and then continue trading inside the downtrend with the target at 1470.90.

GOLD
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

BRENT

Brent continues the correction towards 58.95. Later, the market may resume trading upwards with the first target at 60.50 and then start a new decline to reach 59.70.

BRENT
Risk Warning: the result of previous trading operations do not guarantee the same results in the future

BTCUSD, “Bitcoin vs US Dollar”

BTCUSD is forming the second ascending impulse with the target at 8316.00 After that, the instrument may form a new descending structure to reach 8085.00 and then resume growing towards the first target at 8400.00.

BITCOIN

Article By RoboForex.com

Attention!
Forecasts presented in this section only reflect the author’s private opinion and should not be considered as guidance for trading. RoboForex LP bears no responsibility for trading results based on trading recommendations described in these analytical reviews.

Pound Still Hopes for Brexit

By Dmitriy Gurkovskiy, Chief Analyst at RoboForex

The British Pound slowed down its growth early in the fourth October week. It would seem that everything was fine: the British Prime Minister Boris Johnson and the European Union’s representatives agreed on the deal that might allow the country to leave the alliance in time and without additional troubles for the economy. However, the agreement failed at the parliamentary level: members of the British Parliament didn’t approve the terms and conditions of the deal.

Under such circumstances, Johnson will have to get back to Brussels empty-handed and ask for a new delay, this time until January 2020. Of course, there is a little chance that the British policymakers may “cool down” during the weekend and be more logical when getting back to discussing the deal on Monday. However, risks that it wouldn’t happen are very serious. Moreover, the Brits should be ready for the scenario, where the EU decides not to make any more compromises.

Johnson, just like his predecessor Theresa May, hasn’t been able to sell his proposals to the Parliament, no matter what he was trying to do to avoid sensitive issues.

No one knows how much longer this drama may continue. The current Brexit date is October 31st, but it’s quite clear right now that there isn’t enough time for further negotiation, because it already high time to approve the documents regulating operations and activities of both parties in case of the start of exiting procedure.

The Pound’s response to this news was going down against the USD, but there hasn’t been any panic in GBPUSD so far: market players are still hoping for a happy end.

As we can see in the H4 chart, GBP/USD has broken 1.2770 to the upside and may continue growing to reach 1.3000. in fact, the entire ascending structure may be considered as a correction of the previous descending wave. After reaching the above-mentioned level, the pair may start a new decline with the first target at 1.2770. From the technical point of view, this scenario is confirmed by MACD Oscillator: its signal line is about to resume falling towards 0. In case this level is broken downwards, the correction may continue down to 1.2300.

In the H1 chart, GBP/USD continues trading upwards to reach 1.3000. After reaching this level, the pair may start a new decline with the first target at 1.2770. From the technical point of view, this scenario is confirmed by Stochastic Oscillator: its signal line is consolidating around 50. If later this range is broken to the upside, the line may continue moving towards 80; if to the downside – resume falling to reach 20 and the correction in the price will follow towards 1.2770.

Disclaimer

Any predictions contained herein are based on the authors’ particular opinion. This analysis shall not be treated as trading advice. RoboForex shall not be held liable for the results of the trades arising from relying upon trading recommendations and reviews contained herein.