Monday, 9 September 2013

Economists main viewpoints all in tiny nutshells

Just to give you an idea of the guys: 

a) Richard Koo 
A balance sheet recession is caused by people who do not want to borrow (because they have been scared by a recent crisis) and would rather pay down their debts than take on new debt. By the Fallacy of Composition this causes a reduction in GDP because nobody is borrowing for growth, leaving a big hole that further depresses economy. The 'solution' is for the government to fill the GDP hole by deficit spending. Uses Japan as main example but applicable for 'once in 70 year crises' for most countries.



b) Joseph Stiglitz

The global export/import balance sheet is zero sum game, so surplus countries (Brazil, China etc) do so at cost of those in deficit (USA etc) The surplus countries keep their surpluses in the global reserve currency - dollars and end up with huge amounts of dollar reserves. The deficit countries try to compensate by creating bubbles that collapse causing crashes and bank failures.
Securitization was a contributory cause of the 2008 crisis caused by lack of data on bad loans implicit in the way securitisation bundles loans in a non-transparent way. 'Asymmetric data' is an error that needs correcting. Also banks benefiting too much from Fed QE because they have access to negative loan rates which are not available to others. The rich are now richer and there has been a loss of living standards for others.
His solution:
1) A global reserve currency bc dollar not able to fulfill that function well.
2) Capital transfer controls to stop financial contagion. He argues using a health analogy that viruses spread via open borders and to stop this health workers try to contain them locally. Should be same for financial 'viruses'.
3) Levy tax on countries in surplus bc they are in surplus at deficit countries cost - they should be taxed
4) Emerging market countries need to increase their home demand more rather than exporting goods abroad - sell them at home more.



c) Paul Krugman
Argues that no matter how much money is created people will not borrow even at the ZIRP and large monetary base because we are in a Keynesian/Fisher style liquidity trap.
He is critised for his supply-demand, Keynsian-like theory that does not account for creation of money in the bank's fractional reserve system.
His solution:
Government deficit spending to increase GDP and we should worry about the increase in debt later when the economy is better or there are new solutions to the debt problem available. Inflation will not happen whilst in a liquidity trap.



d) Cullen Roche
Founder of Pragmatic Capitalism he comments on economic theory and gives investment advice. He predicted the 2007 crisis and now speaks and writes about many economic and investment issues.



e) The Fed
Initially - Provide QE to a) Save banks b) Prevent catastrophic debt defaults b) Improve borrowing (hasn't happened much) c) Write-off non performing loans (MBS) d) Improve stocks and consequently aid growth. + more...
Later - QE resulted in employment figures reaching target of 7% : a) Try forward guidance of 'expected inflation' to improve growth b) Taper QE amounts to prevent excess debt build up
The Fed is continually evolving its policy in line with what it believes is best for employment.



f) IMF
Did a 180 degree turn: At first recommends austerity and paying down debts but later advocated stimulus because 'austerity causes more damage than deficit government spending'.
The IMF was happily promoting the status quo right up to the 2007 credit crisis and continues to blow with the wind of mainstream opinions.



g) BIS
Warned  & predicted 2008 crisis but could not take effective action to prevent it bc not many believed them.
Have written and published various high-level reports and coordinated central bank actions to maintain stabilities. Involved with organising big supra-national currency swaps and other CB actions behind the scenes.
The BIS takes a careful if not negative approach to global economics and produces insightful reports and draws attention to instabilities.



h) ZeroHedge
Points out contradictions, corruption and seeks out and publishes uncomfortable statistics and charts. Often take the view that governments are incompetent and businesses are corrupt and vice-versa.
Often correct and insightful and often plain wrong, but publishes off-the-wall reports and blogs so  'you decide'. (One of my faves - ed)
Have pointed to many reasons for 2008 crisis in their blogs and generally consider QE not effective having creating a false economic recovery based on 'printed money' and over-large government debt.



iLord Adair Turner
Reported on the underlying reasons for the credit crisis and uses a selection of relevant economic theory. The main reason is the growth of property related debt that formed a bubble. Says many economic theories are out-of-date because are based on industrial growth being fuelled by industrial  investment. Theories of supply and demand in industry and services is not where most investment is going. Today most investment is towards fixed assets such as property and finance and money creation is via fractional reserve banking and it is this aspect rather than industrial growth problems that  caused the crisis. 



j) Martin Wolf
Well respected journalist at the Financial Times who looks at underlying reasons and causes. The 2007 crisis was caused by a glut of savings coming mainly from China. 
His solution:
Property investment bubble could be solved by taking the money creation ability of the banks and putting it into government hands such as CBs or committees that could direct money creation into more suitable areas. But he realises that this is experimental and may not work in practice : 1) governments would tend to create money for themselves 2) a dangerous shadow banking sector could develop with concomitant systemic instability 
Issues. 3) Government committees may not be the best people to allocate money - central planning route to disaster.



k) Francis Coppola
Blogger and media commentator with expertise in banks and how they operate. Often takes a leftist viewpoint while claiming neutrality, thus subscribes to deficit spending and a more-or-less Keynsian model to provide a strong social services infrastructure.


lDavid Beckworth
University guy. Believes in modern monetarist theory as a possible solution & that government can create money, monetise debts - public deficits are good economic management when private sector is struggling. But he also commentates on more orthodox solutions as an economic adviser and commentator on TV.


jSteve Keen
University guy. Unorthodox economist who disagrees with Fishers Debt Deflation and other mainstream theories. Effects of private debt is a big deal for him.
His solution:
Run public deficits to help economy and "helicopter drop" or OMF consumers to increase demand and assist paying down private debt. USA ran deficit to GDP debt of 15% which, in fact, helped private sector but EZ Mastricht treaty prevented that happening in EZ because debt to GDP is limited to 3% - so EUROPE still in crisis.


k) Noah Smith
Economics blogger active on Twitter and quite famous who picks up fallacies and good points in economic ideas and articles. Says he is a sceptic.









Thursday, 9 August 2012

Robots, tech advances, evolution and economics


Lets construct a thought experiment of a world where 99% of the labour force is unemployed due to advances in digital technology (driverless cars, robots etc etc).

This leaves about 99% (lets assume) capable, reasonable people with no buying power because there is no need for them in the production cycle, thus they have no pay, no money. Hey - they are 'nice' people.

Is there an economic process that works in a practical sense to solve this conundrum?

Yes -or I would not be writing this!

Solutions
In this hypothetical scenario, as I said above, there are no employees in automated factories and since every step is automated there are no production costs (even maintenance, raw materials, mining, farming, delivery etc are all automated). All production is FREE - robots can do it all - nearly.

In this scenario it may appear that production output could be simply given to human consumers? Would not work. This would prevent Adam Smith's invisible hand from inventing new and improving old products - the human consumer would have no feedback to determine the products he/she receives. It would not work well, if at all. Somehow, the consumer needs to feedback desires into the production system. But how? He/she has no money because they are unemployed.

A human consumer must BUY the products and a human producer (owner) must RECEIVE the incomes.
Both of them will then try to maximize their incomes - that's how we rather pathetic critters work - it evolution.

It is the humans that need to drive the creative process because machines do not have desires or 'wants' and thus cannot (as yet) drive the evolutionary processes forward. Desires and wants drive processes on.

Thus its the consumer who has no income that MUST buy products (not simply be given them) - that is the feedback mechanism to human producers who must 'want' money. Its then the good-old win-win situation. The consumer gets to choose the best product and the producer gets the income from the consumers' spending. We know that works with a bit of regulation and law.

But Consumers Have No Money?
Easy - give them money so they can work hard CHOOSING the best products. Not infinite money because then they would not care what they bought. Limited money.

A National Bank uses QE directly to finance consumers, at a fixed annual rate, who then buy products and services.

Inflation would not occur, if carefully implemented, because although the QE increases the money supply, the buying power of consumers would increase real assets proportionately.

You add more details to this theory (I cannot be nbothered to get all the annoying details correct because I AM UNPAID a helloooo).




Friday, 11 May 2012

Google Dart Animation

I have just worked out how to do an HTML 5 animation in the new Dart language and will share the code here.

Dart is similar to JavaScript but is more java-like and appears less illogical than JavaScript.
For example - you have real classes and real objects rather than ... well, whatever those JavaScript entities are - I never did know!
 I am interested in the speed of compiled Dart in a V8 runtime. If its as fast as I believe 9I have seen bench marked as fast as c!!!!) then its the way to go for me.... UPDATE - apparently is NOT particularly fast, damn...... - I will (update, not) be able to render thousands of lovely 3D polygons in my 3D model in a browser - (not) yum. Come on Google - makes it super fast like your Big Table please.

Here is the code for a bouncing ball. Its basically a JavaScript to Dart conversion that I did.
I used Version 0.1.0.201205020515, Build 7232
Dart SDK version 7230, Dartium version in May 2012 (just in case this example is not working any more)

Note: The ball is actually bouncing around - this is a screen shot :)


Just make 2 files and copy paste these two files into Dart IDE, it will work :)
Here is the Dart file (its HTML 5 into Dart type of thing)
********************************************************
#import('dart:html');

class TubeBall {
var x2 = 0;
CanvasElement canvas;  
var ctx;
var x = 400;
var y = 300;
var dx = 2;
var dy = 4;
var WIDTH = 400;
var HEIGHT = 300;
  TubeBall() {
  }
  void circle(x1,y1,r) {
    ctx.beginPath();
    ctx.lineWidth = 5;
    ctx.fillStyle = "blue";
    ctx.strokeStyle = "red";
    ctx.arc(x1, y1, r, 0, Math.PI*2, true);
    ctx.fill();
    ctx.stroke();
  }
  void rect(x3,y2,w,h) {
    ctx.beginPath();
    ctx.rect(x3,y2,w,h);
    ctx.closePath();
    ctx.fill();
    
  }
  void init() {
    write("Hello World!");
    canvas = document.query("#canvas");   
     ctx = canvas.getContext("2d");   
     window.setInterval(draw, 10);
  }
  void clear() {
    ctx.clearRect(0, 0, WIDTH, HEIGHT);
  }
  void draw() {
    clear();
    ctx.fillStyle = "#FAF7F8";
    rect(0,0,WIDTH,HEIGHT);
    ctx.fillStyle = "#444444";
    circle(x, y, 10);
    if (x + dx > WIDTH || x + dx < 0)
      dx = -dx;
    if (y + dy > HEIGHT || y + dy < 0)
      dy = -dy;
    x += dx;
    y += dy;
  }
  void draw3(){
    ctx.beginPath();
    ctx.lineWidth = 5;
    ctx.fillStyle = "blue";
    ctx.strokeStyle = "red";
    ctx.arc(100, 100, 15, 0, 7, false);
    ctx.fill();
    ctx.closePath();
    ctx.stroke();
    x2 += 10;
    ctx.fillRect (30, 30+x2, 55, 50); 
    ctx.fillText("hi ho hum", 300, 300);
    ctx.fillStyle = "#00FF00";
  //  ctx.clientLeft = "100";
    window.setInterval(draw2, 1000);
  }
  void draw2(){
    x += 10;
//    ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
    if(x<80){
    ctx.fillStyle = "#FF0000";
    ctx.fillRect (40+x, 40, 75, 80); 
    } else {
      ctx.fillRect (40, 40+2*x, 75+x, 80);  
      ctx.fillStyle = "#0000FF";
    }

  }  
  void write(String message) {
    // the HTML library defines a global "document" variable

    
    document.query('#status').innerHTML = message;
  }
}

void main() {
  new TubeBall().init();
}
*********************************************************

and here is the html!


**********************************************************

<!DOCTYPE html>

<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <h1>Test</h1>
    <h2 id="status">dart is not running</h2>
    <script type="application/dart" src="TubeBall.dart"></script>
    <script> // dunno what this is..
if (navigator.webkitStartDart) {
  navigator.webkitStartDart();
} else {
  window.addEventListener("DOMContentLoaded", function (e) {

    var scripts = document.getElementsByTagName("script");
    var length = scripts.length;
    for (var i = 0; i < length; ++i) {
      if (scripts[i].type == "application/dart") {
        // Remap foo.dart to foo.js or foo.js_ depending
        // on the chosen compiler (frog or dart2js).
        if (scripts[i].src && scripts[i].src != '') {
          var script = document.createElement('script');
          var compiler = scripts[i].getAttribute('data-compiler');
          if (compiler == "dart2js") {
            script.src = scripts[i].src + '.js_';
          } else {
            script.src = scripts[i].src + '.js';
          }
          var parent = scripts[i].parentNode;
          parent.replaceChild(script, scripts[i]);
        }
      }
    }
  }, false);
}</script>
        <div>
        <canvas id="canvas" width="400" height="300"></canvas>
    </div>
  </body>
</html>




**********************************************************

Hope it works for you  :)