<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Money &#8211; The Financial Hacker</title>
	<atom:link href="https://financial-hacker.com/tag/money/feed/" rel="self" type="application/rss+xml" />
	<link>https://financial-hacker.com</link>
	<description>A new view on algorithmic trading</description>
	<lastBuildDate>Mon, 13 Jan 2025 09:53:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://financial-hacker.com/wp-content/uploads/2017/07/cropped-mask-32x32.jpg</url>
	<title>Money &#8211; The Financial Hacker</title>
	<link>https://financial-hacker.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pimp your performance with key figures</title>
		<link>https://financial-hacker.com/pimp-your-performance-with-key-figures/</link>
					<comments>https://financial-hacker.com/pimp-your-performance-with-key-figures/#comments</comments>
		
		<dc:creator><![CDATA[jcl]]></dc:creator>
		<pubDate>Wed, 08 Jan 2025 13:34:40 +0000</pubDate>
				<category><![CDATA[No Math]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Money]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Zorro]]></category>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4782</guid>

					<description><![CDATA[Not all scripts we’re hired to write are trading strategies. Some are for data analysis or event prediction – for instance: Write me a script that calculates the likeliness of a stock market crash tomorrow. Some time ago a client ordered a script for improving the performance of their company. This remarkable script was very &#8230; <a href="https://financial-hacker.com/pimp-your-performance-with-key-figures/" class="more-link">Continue reading<span class="screen-reader-text"> "Pimp your performance with key figures"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>Not all scripts we’re hired to write are trading strategies. Some are for data analysis or event prediction – for instance: <em>Write me a script that calculates the likeliness of a stock market crash tomorrow</em>. Some time ago a client ordered a script for improving the performance of their company. This remarkable script was very different to a trading system. Its algorithm can in fact improve companies, but also your personal performance. How does this work?<span id="more-4782"></span></p>



<p>Just like the performance of a stock, the performance of a company is measured by numerical indicators. They are named <strong>key figures</strong>. Key figures play a major role in quality management, such as the <strong>ISO 9000</strong> standards. An ISO 9000 key figure is a detail indicator, such as the number of faults in a production line, the number of bugs found in a beta test, the number of new clients acquired per day, the total of positive minus negative online reviews, an so on. Aside from being essential for an ISO 9000 certification, these key figures have two purposes:</p>


<ul class="wp-block-list">
	<li>They give <strong>detailed insight</strong> and expose strengths and weaknesses.</li>


	<li>And they give a <strong>strong motivation</strong> for reaching a certain goal.</li>
</ul>


<p>The script below opens a user interface for entering various sorts of key figures. It calculates an <strong>overall score</strong> that reflects the current performance of a company &#8211; or of a person &#8211; and displays it in a chart. If you use it not for a company, but for yourself, it helps improving your personal life. And from the short script you can see how to create a relatively complex software with relatively few lines of code.</p>


<p>Hackers like the concept of key figures. They are plain numbers that you can work with. Anyone can define key figures for herself. If you’re a writer, an important key figure is the number of words you&#8217;ve written today; if you&#8217;re an alcolohic, it&#8217;s the number of drinks you had today. Many self-improvement books tell you precisely what you need to do for living a healthier, wealthier, happier life &#8211; but they all suffer from the same problem: <strong>long-term motivation</strong>. If you lack the iron will to keep your daily exercises, reduce smoking, stay away from fast food, and so on &#8211; all good resolutions will eventually fall into oblivion. If you had <strong>resolutions for 2025</strong>, you&#8217;ll soon know what I mean.</p>


<p>Failure is less likely when you can observe your progress any day and see its immediately effect on your overall performance score. This score is a direct measure of your success in live. Whether you’re a company or a person, you want to keep this core rising. This feedback produces a strong motivation, every day again.</p>


<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="701" height="405" class="wp-image-4783" src="https://financial-hacker.com/wp-content/uploads/2025/01/word-image-4782-1.png" alt="" srcset="https://financial-hacker.com/wp-content/uploads/2025/01/word-image-4782-1.png 701w, https://financial-hacker.com/wp-content/uploads/2025/01/word-image-4782-1-300x173.png 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></figure>



<p><br />
The above performance chart is plotted by the key figure management script in C for the Zorro platform. The red line is the overall score, derived from all key figures in a way explained below. The blue line is the key figure for which you just entered a new value (in the example it&#8217;s the number of large or small features implemented in the last 6 months in the Zorro platform). The X axis is the date in YYMMDD format.</p>


<p>Of course, key figures can be very different. Some may have a daily goal, some not, some shall sum up over time, others (like your bank account value) are just taken as they are. The idea is that your overall score rises when you exceed the daily goals, and goes down otherwise. All key figures and their parameters can be freely defined in a CSV file, which can be edited with a text editor or with Excel. It looks like this:</p>


<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p><code>Name, Decimals, Unit, Offset, Growth, Sum<br />
Appr,1,0.1,0,0,0<br />
Praise,0,10,0,-30,1<br />
Weight,1,-0.1,-250,0.033,0<br />
Duck,1,0.5,0,-0.5,1<br />
Worth,0,1,-6000,0,0</code></p>
</div></div>
</div></div>


<p>In the first column you can assign a name. The second column is the number of decimals in the display, the third is their unit in the overall score, the fourth is an offset in the score, the fifth is the daily goal, and the last tells if the figures shall sum up over time (1) or not (0).</p>


<p>Example. Suppose you’re a president of a large country and want to pimp up your personal performance. What’s your key figures? First, of course, approval rate. Any tenth percent adds one point to your score. So the first entry is simple:</p>


<p><code>Name, Decimals, Unit, Offset, Growth, Sum </code><br />
<code>Appr, 1, 0.1, 0, 0, 0</code></p>


<p>Next, fame. Key figure is the daily number of praises on Fox News, OneAmerica, and Newsmax. You’ve ordered a White House department to count the praises; of course you’re personally counting them too, just in case. Less than 30 praises per day would be bad and reduce your score, more will improve it. So 30 praises are daily subtracted from your score. Any 10 further praises add one point. This is an accumulative key figure:</p>


<p><code>Praise, 0, 10, 0, -30, 1</code></p>


<p>Next, health. Key figure is weight. Your enemies spread rumors that you&#8217;re unfit and obese. Your doctors urge you to shed weight. So you want to lose one pound every month, which (you have your mathematicians for calculating difficult things) is about 0.033 per day. Any lost 0.1 pound adds one point to your score. The numbers are negative since you want your weight to go down, not up. The offset is your current weight.</p>


<p><code>Weight, 1, -0.1, -250, 0.033, 0</code></p>


<p>Next, literacy. Your enemies spread rumors you&#8217;re illiterate. To prove them wrong, you&#8217;ve decided to read at least half a page per day in a real book (you’ve chosen <a href="https://www.amazon.de/-/en/Doreen-Cronin/dp/0689863772">Duck for President</a> to begin with). Any further half page adds one point to your score. This is also an accumulative figure.</p>


<p><code>Duck, 1, 0.5, 0, -0.5, 1</code></p>


<p>Finally, net worth. You’ve meanwhile learned to better avoid business attempts. Let your net worth grow due to the value increase of your inherited real estate, which is currently at 6 billion. Any million further growth adds one point to your score (numbers given in millions):</p>


<p><code>Worth, 0, 1, -6000, 0, 0</code></p>


<p>For improving your personal performance, download the script from the 2025 repository. Copy the files <strong>KeyFigures.csv</strong> and <strong>KeyFigures.c</strong> in your Strategy folder. Edit <strong>KeyFigures.csv</strong> for entering your personal key figures, as in the above example (you can later add or remove key figures and use Excel to add or remove the new columns to the data file). This is the script:</p>
<pre class="prettyprint">// Pimp Your Performance with Key Figures //////////////////////

string Rules = "Strategy\\KeyFigures.csv";
string Data = "Data\\KeyData.csv"; // key figures history
string Format = "0%d.%m.%Y,f1,f,f,f,f,f,f,f,f,f,f,f,f,f,f";
int Records,Fields;

var value(int Record,int Field,int Raw)
{
	var Units = dataVar(1,Field,2);
	var Offset = dataVar(1,Field,3);
	var Growth = dataVar(1,Field,4);
	var Value = 0;
	int i;
	for(i=0; i&lt;=Record; i++) {
		if(dataVar(2,i,Field+1) &lt; 0.) continue; // ignore negative entries
		Value += Growth;
		if(i == Record || (dataInt(1,Field,5)&amp;1)) // Sum up? 
			Value += dataVar(2,i,Field+1)+Offset;
	}
	if(Raw) return Value-Offset;
	else return Value/Units;
}

var score(int Record)
{
	int i,Score = 0;
	for(i=0; i&lt;Fields; i++) 
		Score += value(Record,i,0);
	panelSet(Record+1,Fields+1,sftoa(Score,0),YELLOW,16,4);
	return Score;
}


void click(int Row,int Col)
{
	dataSet(2,Row-1,Col,atof(panelGet(Row,Col)));
	score(Row-1);
	if(dataSaveCSV(2,Format,Data)) sound("Click.wav");
	int i;
	for(i=0; i&lt;Records; i++) {
		var X = ymd(dataVar(2,i,0)) - 20000000;
		plotBar("Score",i,X,score(i),LINE,RED);
		plotBar(dataStr(1,Col-1,0),i,NIL,value(i,Col-1,1),AXIS2,BLUE);
	}
	if(Records &gt;= 2) plotChart("");
}

void main()
{
	int i = 0, j = 0;
	printf("Today is %s",strdate("%A, %d.%m.%Y",NOW));
	ignore(62);
	PlotLabels = 5;
// File 1: Rules
	Fields = dataParse(1,"ssss,f1,f,f,f,i",Rules);
// File 2: Content
	Records = dataParse(2,Format,Data);
	int LastDate = dataVar(2,Records-1,0);
	int Today = wdate(NOW);
	if(LastDate &lt; Today) { // no file or add new line
		dataAppendRow(2,16);
		for(i=1; i&lt;=Fields; i++)
			if(!(dataInt(1,i-1,5)&amp;1))
				dataSet(2,Records,i,dataVar(2,Records-1,i));
		Records++;
	}
	dataSet(2,Records-1,0,(var)Today);

// display in panel
	panel(Records+1,Fields+2,GREY,-58);
	panelFix(1,0);
	print(TO_PANEL,"Key Figures");
	for(i=0; i&lt;Fields; i++)
		panelSet(0,i+1,dataStr(1,i,0),ColorPanel[0],16,1);
	panelSet(0,i+1,"Score",ColorPanel[0],16,1);
	panelSet(0,0,"Date",ColorPanel[0],16,1);
	for(j=0; j&lt;Records; j++) {
		panelSet(j+1,0,strdate("%d.%m.%y",dataVar(2,j,0)),ColorPanel[0],0,1);
		score(j);
		for(i=0; i&lt;Fields; i++) 
			panelSet(j+1,i+1,sftoa(dataVar(2,j,i+1),-dataVar(1,i,1)),ColorPanel[2],0,2);
	}
	panelSet(-1,0,"Rules",0,0,0);
}</pre>
<p>The file locations and the CSV format of the key figures history are defined at the begin. The <strong>value</strong> function calculates the contribution of a particular key figure to the overall score. The <strong>score</strong> function updates the overall score. The <strong>click</strong> function, which is called when you enter a new value, calculates the score of that day, updates the spreadsheet, and prints the chart. The <strong>main</strong> function imports the data and key figures from their CSV files into datasets, prints the current day and displays a spreadsheet of your key figures and score history, like this:</p>


<figure class="wp-block-image"><img decoding="async" width="484" height="163" class="wp-image-4784" src="https://financial-hacker.com/wp-content/uploads/2025/01/ein-bild-das-text-screenshot-schrift-zahl-enth.png" alt="Ein Bild, das Text, Screenshot, Schrift, Zahl enthält.

Automatisch generierte Beschreibung" srcset="https://financial-hacker.com/wp-content/uploads/2025/01/ein-bild-das-text-screenshot-schrift-zahl-enth.png 484w, https://financial-hacker.com/wp-content/uploads/2025/01/ein-bild-das-text-screenshot-schrift-zahl-enth-300x101.png 300w" sizes="(max-width: 484px) 85vw, 484px" /> </figure>



<p> <br />
You will need <a href="https://zorro-project.com/download.php" target="_blank" rel="noopener">Zorro S</a> because the spreadsheet function is not available in the free version. Start the script any morning. It will open the spreadsheet, where you can click in any of the white fields and enter a new key figure value for today. You can anytime enter new figures for today or for past days. At any entry, the score is calculated and &#8211; if the history spans more than 2 days – a chart is plotted as in the above example.</p>


<p>Normally, personal performance depends on about 5-10 key figures (maximum is 15). For instance, miles you’ve jogged today, steps walked, exercises done, pages read, words written, words learned in a new language, value of your bank account, value of your stock portfolio, burgers eaten, cigarettes smoked, enemies killed, or number of old ladies you helped crossing the street. If you’re a president, consider the script a free present (we hope for generous tax exceptions in exchange). If you’re an ISO 9000 certified company and want to use the script for your quality management, please contact oP group to pay your fee. For personal use, the script is free. Pimp your performance and make the world a better place!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://financial-hacker.com/pimp-your-performance-with-key-figures/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Deep Learning Systems for Bitcoin 1</title>
		<link>https://financial-hacker.com/deep-learning-systems-for-bitcoins-part-1/</link>
					<comments>https://financial-hacker.com/deep-learning-systems-for-bitcoins-part-1/#comments</comments>
		
		<dc:creator><![CDATA[jcl]]></dc:creator>
		<pubDate>Wed, 27 Dec 2017 10:51:27 +0000</pubDate>
				<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[No Math]]></category>
		<category><![CDATA[System Development]]></category>
		<category><![CDATA[Autoencoder]]></category>
		<category><![CDATA[Bitcoin]]></category>
		<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Boltzmann machine]]></category>
		<category><![CDATA[Cryptocurrency]]></category>
		<category><![CDATA[Deepnet]]></category>
		<category><![CDATA[Economy]]></category>
		<category><![CDATA[H2O]]></category>
		<category><![CDATA[Keras]]></category>
		<category><![CDATA[Money]]></category>
		<category><![CDATA[MxNet]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[Tensorflow]]></category>
		<guid isPermaLink="false">http://www.financial-hacker.com/?p=2899</guid>

					<description><![CDATA[Since December 2017, bitcoins can not only be traded at more or less dubious exchanges, but also as futures at the CME and CBOE. And already several trading systems popped up for bitcoin and other cryptocurrencies. None of them can claim big success, with one exception. There is a very simple strategy that easily surpasses &#8230; <a href="https://financial-hacker.com/deep-learning-systems-for-bitcoins-part-1/" class="more-link">Continue reading<span class="screen-reader-text"> "Deep Learning Systems for Bitcoin 1"</span></a>]]></description>
										<content:encoded><![CDATA[<p>Since December 2017, bitcoins can not only be traded at more or less dubious exchanges, but also as futures at the CME and CBOE. And already several trading systems popped up for bitcoin and other cryptocurrencies. None of them can claim big success, with one exception. There is a very simple strategy that easily surpasses all other bitcoin systems and probably also all known historical trading systems. Its name: <strong>Buy and Hold</strong>. In the light of the extreme success of that particular bitcoin strategy, do we really need any other trading system for cryptos?<span id="more-2899"></span></p>
<h3>Bitcoin &#8211; hodl??</h3>
<p>A buy and hold strategy works extremely well when a price bubble grows, and extremely bad when it bursts. And indeed, apparently all finance and economy gurus (well, all but <a href="https://www.rt.com/news/411379-john-mcafee-bitcoin-prediction/" target="_blank" rel="noopener noreferrer">John McAfee</a>) tell you that the cryptocurrency market, and especially bitcoin, is a bubble, even a &#8220;scam with no substantial worth&#8221;, and will soon experience a crash &#8220;worse than the 17th century tulip mania&#8221; or the &#8220;18th century South Sea Company fraud&#8221;.</p>
<p><figure id="attachment_2917" aria-describedby="caption-attachment-2917" style="width: 681px" class="wp-caption alignnone"><a href="http://www.financial-hacker.com/wp-content/uploads/2017/12/bitcoin.png"><img decoding="async" class="wp-image-2917 size-full" src="http://www.financial-hacker.com/wp-content/uploads/2017/12/bitcoin.png" alt="" width="681" height="321" srcset="https://financial-hacker.com/wp-content/uploads/2017/12/bitcoin.png 681w, https://financial-hacker.com/wp-content/uploads/2017/12/bitcoin-300x141.png 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></a><figcaption id="caption-attachment-2917" class="wp-caption-text">Bubble or not?</figcaption></figure></p>
<p>By definition, a bubble is a price largely above the &#8216;real value&#8217; or &#8216;fair value&#8217; of an asset, and it bursts when people realize that. So what is the fair value of a bitcoin? Obviously not zero, since blockchain based currencies have (aside from their disadvantages) several advantages over traditional currencies, on the economy level as well as on the private level. Such as:</p>
<ul style="list-style-type: square;">
<li>They break the <a href="http://www.financial-hacker.com/money-and-how-to-get-it/" target="_blank" rel="noopener noreferrer">link of money and debt</a>. Cryptocurrencies don&#8217;t require the bank credit mechanism for money creation.</li>
<li>They can be used where normal money would be impractical, such as fee transfers between machines or trading in multiplayer games.</li>
<li>They allow low-cost and anonymous money transactions. At least in theory.</li>
<li>They replace banks for storing and mattresses for stashing money.</li>
</ul>
<p>I&#8217;m ready to believe that blockchain is the future of money transfer and storage. But that does not mean an ever-rising bitcoin price. Hundreds of cryptocurrencies came out in the last two years, any single of them with a better blockchain technology than bitcoin, and any good programmer can add a new coin anytime. Few will survive. Countries or big companies might sooner or later issue their own crypto tokens, as Venezuela already is attempting. The release of an official blockchain Dollar, Yuan, or Euro would leave the old bitcoin with its energy hungry transaction algorithm in thin air. Thus, when investing in bitcoin, we should not hope for a rosy future, but look for its present &#8216;real value&#8217;.</p>
<p>Due to its extreme volatility, bitcoin can not replace bank tresors. But it is already used in some situations for reducing money transfer costs, since the miners get any transaction rewarded in bitcoin. And above all, anonymity can be a substantial motive to own it. When you need a hacker to delete your drunk driving record, pay her in bitcoin. But how big is the online market for illegal hacker jobs, kill contracts, money laundering, drugs, weapons, or pro-Trump facebook advertisements? No one knows, but when we compare it with cash, another form of anonymous payment, we get interesting results.</p>
<p>The current cash in circulation in the US is approximately $1.5 trillion dollars. And the current bitcoin supply, about 17 million bitcoins, represents a total value of about $250 billion. Which means that you can already replace 15% of all US cash with bitcoin! Not to mention all the other cryptos. I fear that this supply already exceeds the demand of anonymous online payment for today and also the next future.</p>
<p>For those reasons, a bitcoin &#8220;hodl&#8221; system, despite its extreme historical performance, is high risk. We don&#8217;t know when and how the bubble will burst &#8211; maybe bitcoin will go up to $100,000 before &#8211; but we have some reason to suspect that at some point sooner or later the bitcoin price might drop like a stone down to its &#8216;real value&#8217;. Which is unknown, but for practical purposes is probably not in the $15,000 area, but more like $15.</p>
<p>So we need some other method to tackle the cryptocurrency trading problem. The first question: Has the crypto market already developed price curve inefficiencies that can be exploited in a trading system? In <strong>(1)</strong> we see some tests with basic bitcoin strategies. Our own tests came to the same results. Momentum based strategies can work, and <a href="http://www.financial-hacker.com/get-rich-slowly/" target="_blank" rel="noopener noreferrer">mean-variance optimizing</a>&nbsp;portfolio systems can achieve even extreme returns with crytrocurrencies &#8211; up to 10 times higher than &#8220;hodl&#8221;. But that&#8217;s not really surprising due to the high momentums and volatilities of crypto coins. The problem is that all crypto portfolios are exposed to high risk. Other conventional model-based strategies don&#8217;t work well anyway with cryptos.</p>
<p>When we concentrate on bitcoin, our proposed system must be a fast trading, trend-agnostic strategy. That means it holds positions only a few minutes, and is not exposed to the bubble risk. I can already tell that short-term mean reversion &#8211; even with a more sophisticated system as in <strong>(1)</strong> &#8211; produces no good result with cryptos. So only a few possibilities remain. One of them is exploiting short-term price patterns. This is the strategy that we will develop. And I can already tell that it works. But for this we&#8217;ll need a deep machine learning system for detecting the patterns and determining their rules.</p>
<h3>Selecting a machine learning library</h3>
<p>The basic structure of such a machine learning system is described <a href="http://www.financial-hacker.com/build-better-strategies-part-5-developing-a-machine-learning-system/" target="_blank" rel="noopener noreferrer">here</a>. Due to the low signal-to-noise ratio and to ever-changing market conditions, analyzing price series is one of the most ambitious tasks for machine learning. Compared with other AI algorithms, deep learning systems have the highest success rate. Since we can connect any <a href="http://www.financial-hacker.com/hackers-tools-zorro-and-r/" target="_blank" rel="noopener noreferrer">Zorro</a> based trading script to the data analysis software R, we&#8217;ll use a R based deep learning package. There are meanwhile many available. Here&#8217;s the choice:</p>
<ul style="list-style-type: square;">
<li><strong>Deepnet</strong>, a lightweight and straightforward neural net library with a stacked autoencoder and a Boltzmann machine. Produces good results when the feature set is not too complex. The basic train and predict functions for using a deepnet autoencoder in a Zorro strategy:<!--?prettify linenums=true?-->
<pre class="prettyprint">library('deepnet') 

neural.train = function(model,XY) 
{
  XY &lt;- as.matrix(XY)
  X &lt;- XY[,-ncol(XY)]
  Y &lt;- XY[,ncol(XY)]
  Y &lt;- ifelse(Y &gt; 0,1,0)
  Models[[model]] &lt;&lt;- sae.dnn.train(X,Y,
      hidden = c(30), 
      learningrate = 0.5, 
      momentum = 0.5, 
      learningrate_scale = 1.0, 
      output = "sigm", 
      sae_output = "linear", 
      numepochs = 100, 
      batchsize = 100)
}

neural.predict = function(model,X) 
{
  if(is.vector(X)) X &lt;- t(X)
  return(nn.predict(Models[[model]],X))
}
</pre>
</li>
<li><strong>H2O</strong>, an open-source software package with the ability to run on distributed computer systems. Coded in Java, so the latest version of the JDK is required. Aside from deep autoencoders, many other machine learning algorithms are supported, such as random forests. Features can be preselected, and ensembles can be created. Disadvantage: While batch training is fast, predicting a single sample, as usually needed in a trading strategy, is relatively slow due to the server/client concept. The basic <strong>H2O</strong> train and predict functions for Zorro:<!--?prettify linenums=true?-->
<pre class="prettyprint">library('h2o') 
# also install the Java JDK

neural.train = function(model,XY) 
{
  XY &lt;- as.h2o(XY)
  Models[[model]] &lt;&lt;- h2o.deeplearning(
    -ncol(XY),ncol(XY),XY,
    hidden = c(30),  seed = 365)
}

neural.predict = function(model,X) 
{
  if(is.vector(X)) X &lt;- as.h2o(as.data.frame(t(X)))
  else X &lt;- as.h2o(X)
  Y &lt;- h2o.predict(Models[[model]],X)
  return(as.vector(Y))
}</pre>
</li>
<li><strong>Tensorflow</strong> in its <strong>Keras</strong> incarnation, a neural network kit by Google. Supports CPU and GPU and comes with all needed modules for tensor arithmetics, activation and loss functions, covolution kernels, and backpropagation algorithms. So you can build your own neural net structure. <strong>Keras</strong> offers a simple interface for that.
<p>Keras is available as a R library, but installing it requires also a Python environment. First install Anaconda from <a href="https://www.anaconda.com">www.anaconda.com</a>. Open the Anaconda Navigator and install the RStudio application (installing Keras outside an Anaconda environment fails on some PCs with an error message). Then open Rstudio inside the Navigator, install the Keras package, then finally execute library(&#8216;keras&#8217;) and install_keras(). These steps usually succeed.</p>
<p>The <strong>Keras</strong> train and predict functions for Zorro:<!--?prettify linenums=true?--></p>
<pre class="prettyprint">library('keras')
#needs Python 3.6 and Anaconda
#call install_keras() after installing the package

neural.train = function(model,XY) 
{
  X &lt;- data.matrix(XY[,-ncol(XY)])
  Y &lt;- XY[,ncol(XY)]
  Y &lt;- ifelse(Y &gt; 0,1,0)
  Model &lt;- keras_model_sequential() 
  Model %&gt;% 
    layer_dense(units=30,activation='relu',input_shape = c(ncol(X))) %&gt;% 
    layer_dropout(rate = 0.2) %&gt;% 
    layer_dense(units = 1, activation = 'sigmoid')
  
  Model %&gt;% compile(
    loss = 'binary_crossentropy',
    optimizer = optimizer_rmsprop(),
    metrics = c('accuracy'))
  
  Model %&gt;% fit(X, Y, 
    epochs = 20, batch_size = 20, 
    validation_split = 0, shuffle = FALSE)
  
  Models[[model]] &lt;&lt;- Model
}

neural.predict = function(model,X) 
{
  if(is.vector(X)) X &lt;- t(X)
  X &lt;- as.matrix(X)
  Y &lt;- Models[[model]] %&gt;% predict_proba(X)
  return(ifelse(Y &gt; 0.5,1,0))
}
</pre>
</li>
<li><strong>MxNet</strong>, Amazon&#8217;s answer on Google&#8217;s Tensorflow. Offers also tensor arithmetics and neural net building blocks on CPU and GPU, as well as high level network functions similar to Keras (the next Keras version will also support MxNet). Just as with Tensorflow, CUDA is supported, but not (yet) OpenCL, so you&#8217;ll need a Nvidia graphics card to enjoy GPU support. In direct comparison <strong>(2)</strong>, MxNet was reported to be less resource hungry and a bit faster than Tensorflow, but so far I could not confirm this. The standard train and predict functions:<!--?prettify linenums=true?-->
<pre class="prettyprint"># how to install the CPU version:
#cran &lt;- getOption("repos")
#cran["dmlc"] &lt;- "https://s3-us-west-2.amazonaws.com/apache-mxnet/R/CRAN/"
#options(repos = cran)
#install.packages('mxnet')
library('mxnet')

neural.train = function(model,XY) 
{
  X &lt;- data.matrix(XY[,-ncol(XY)])
  Y &lt;- XY[,ncol(XY)]
  Y &lt;- ifelse(Y &gt; 0,1,0)
  Models[[model]] &lt;&lt;- mx.mlp(X,Y,
       hidden_node = c(30), 
       out_node = 2, 
       activation = "sigmoid",
       out_activation = "softmax",
       num.round = 20,
       array.batch.size = 20,
       learning.rate = 0.05,
       momentum = 0.9,
       eval.metric = mx.metric.accuracy)
}

neural.predict = function(model,X) 
{
  if(is.vector(X)) X &lt;- t(X)
  X &lt;- data.matrix(X)
  Y &lt;- predict(Models[[model]],X)
  return(ifelse(Y[1,] &gt; Y[2,],0,1))
}
</pre>
</li>
</ul>
<p>By replacing the <strong>neural.train</strong> and <strong>neural.predict</strong> functions, and other functions for saving and loading models that are not listed here, you can run the same strategy with different deep learning packages and compare. We&#8217;re currently using Keras for most machine learning strategies, and I&#8217;ll also use it for the short-term bitcoin trading system presented in the upcoming 2nd part of this article. There is no bitcoin futures data available yet, so tick based price data from several bitcoin exchanges will have to do for the backtest.</p>
<p>I&#8217;ve uploaded the interface scripts for Deepnet, H2O, Tensorflow/Keras, and MxNet to the 2018 script repository, so you can run your own deep learning experiments and compare the packages. Here&#8217;s a Zorro script for downloading bitcoin prices from Quandl &#8211; EOD only, though, since the exchanges demand dear payment for their tick data.</p>
<pre class="prettyprint">void main()
{
  assetHistory("BITFINEX/BTCUSD",FROM_QUANDL);
}</pre>
<p>You can also get Bitcoin M1 data from Kaggle in CSV format. Here&#8217;s a Zorro script for converting it to a Zorro T6 dataset:</p>
<pre class="prettyprint">void main()
{
	string InName = "History\\bitstampUSD_1-min_data_2012-01-01_to_2019-03-13.csv";
	string Format = "+%t,f3,f1,f2,f4,f6";
	dataParse(1,Format,InName); 
	dataSave(1,"History\\BTCUSD.t6");
}</pre>
<h3>Further reading</h3>
<p>(1) Nicolas Rabener, <a href="https://www.factorresearch.com/research-quant-strategies-in-the-cryptocurrency-space" target="_blank" rel="noopener noreferrer">Quant Strategies in the Cryptocurrency Space</a></p>
<p>(2) Julien Simon, <a href="https://medium.com/@julsimon/keras-shoot-out-tensorflow-vs-mxnet-51ae2b30a9c0" target="_blank" rel="noopener noreferrer">Tensorflow vs MxNet</a></p>
<p>(3) Zachary Lipton et al, <a href="https://github.com/zackchase/mxnet-the-straight-dope" target="_blank" rel="noopener noreferrer">MxNet &#8211; The Straight Dope</a><br />
(Good introduction in deep learning with MxNet / Gluon examples)</p>
<p>(4) F.Chollet/J.J.Allaire, Deep Learning with R<br />
(Excellent introduction in Keras)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://financial-hacker.com/deep-learning-systems-for-bitcoins-part-1/feed/</wfw:commentRss>
			<slash:comments>42</slash:comments>
		
		
			</item>
		<item>
		<title>I Hired a Contract Coder</title>
		<link>https://financial-hacker.com/i-hired-a-contract-coder/</link>
					<comments>https://financial-hacker.com/i-hired-a-contract-coder/#comments</comments>
		
		<dc:creator><![CDATA[jcl]]></dc:creator>
		<pubDate>Thu, 15 Oct 2015 09:57:08 +0000</pubDate>
				<category><![CDATA[No Math]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Hiring]]></category>
		<category><![CDATA[Money]]></category>
		<guid isPermaLink="false">http://www.financial-hacker.com/?p=363</guid>

					<description><![CDATA[You&#8217;re a trader with serious ambitions to use algorithmic methods. You already have an idea to be converted to an algorithm. The problem: You do not know to read or write code. So you hire a contract coder. A guy who&#8217;s paid for delivering a script that you can drop in your MT4, Ninja, TradeStation, &#8230; <a href="https://financial-hacker.com/i-hired-a-contract-coder/" class="more-link">Continue reading<span class="screen-reader-text"> "I Hired a Contract Coder"</span></a>]]></description>
										<content:encoded><![CDATA[<p>You&#8217;re a trader with serious ambitions to use algorithmic methods. You already have an idea to be converted to an algorithm. The problem: You do not know to <strong>read or write code</strong>. So you hire a contract coder. A guy who&#8217;s paid for delivering a script that you can drop in your MT4, Ninja, TradeStation, or Zorro platform. Congratulations, now you&#8217;re an algorithmic trader. Just start the script and wait for the money to roll in. &#8211; Does this really work? Answer: it depends.<span id="more-363"></span></p>
<p>Coding contracts can <strong>work out well</strong> or<strong> fail miserably</strong>. It depends on you and on the coder. But mostly on you. As a contract coder* who often hires other contract coders, I got meanwhile some experiences with both sides of the medal. So here are some coder hiring suggestions for increasing the chance to&nbsp;get something useful back for your money.</p>
<h3>Find the coder</h3>
<p>There are three Internet places where you can look for strategy coders: trader forums, freelancer websites, and&nbsp;tool vendors. The latter is my preferred way to acquire coding manpower. I check out&nbsp;advertised indicators, trading systems, or software tools that have some relation to the project at hand. If I like what I see, I contact the developer and ask if she or he does contract work. Most do. This way I know that the new coder has knowledge about the subject, can bring in her experience, and can do commercial quality work.</p>
<p>When contracting on trader forums or freelancer&nbsp;websites, be aware that coding abilities are not equally distributed among&nbsp;the population. Speed and code quality by&nbsp;freelancers differ by <strong>factors up to 10</strong>. So you need some means to judge the coding beforehand. Check out example projects (obviously, don&#8217;t hire someone who has nothing to show). If you can&#8217;t decide among five coders, hire all five. Give them all a small task, a little script, something that can be done in about 3&nbsp;hours. Pay all five for the small task, then select the one with the best work for the real project. The invested money is well spent. A connection to a good coder is a very valuable asset.</p>
<h3>Grill the coder</h3>
<p>Before hiring, interrogate&nbsp;the freelancer about his skills and his approach to&nbsp;the project. And&nbsp;put attention on&nbsp;clear and prompt&nbsp;answers. Many issues arise from misunderstanding. Freelance coders must&nbsp;be able to&nbsp;express themselves not only in script, but also in plain English. As&nbsp;you&#8217;ll most likely communicate by email, test the <strong>promptness</strong>. If&nbsp;it takes your aspiring coder three days to respond on an email even in the negotiating phase, he&#8217;ll likely need three weeks to react on an issue after delivery and payment &#8211; if at all.</p>
<p>One important thing to ask is how the coder tests his&nbsp;scripts. In software development, proper <strong>test procedures</strong> are more important than writing code. A good coder has some test framework for putting his code under stress. This is twice important when the coder, as I sometimes do, sub-contracts parts of the task to other coders. Understanding and testing other people&#8217;s scripts is an additional effort that pays back in better code quality.</p>
<p>Naturally you should also make sure that&nbsp;the coder has basic understanding of trading, and knowledge in math and statistics &#8211; or can at least quickly come to grips with a new field of knowledge. A&nbsp;degree in math, physics, engineering, or computer science is of advantage, even if it pushes up the coder&#8217;s fees. But&nbsp;<strong>understanding the algorithm on a deep level</strong>&nbsp;can be essential&nbsp;for coding a serious trade system. My favorite way to grill a coder was giving her a sheet of paper and asking her for a quick proof of Pythagoras&#8217; theorem. Unfortunately, this only works in a face to face interview, not by email.</p>
<h3>Feed the&nbsp;coder</h3>
<p>An essential part of cooperation with coders is your <strong>project description</strong>. Know your goals precisely, but not too precisely. Some clients are able to describe clearly what they want. Others send long and utterly confused project specifications that leave you completely in the dark of what you have to code. From some clients I got laconic flow diagrams like this: &#8220;Analyze price curve with neural network &#8211; open position when profitable &#8211; close position at price maximum &#8211; repeat&#8221;. Others have 22-page concepts with a complex strategy described up to the finest detail of the user interface button colors. And as they felt that all this could somehow limit the flexibility, they usually require any detail to be adjustable with many different parameters and modes.</p>
<p>A trading strategy is no iPhone app. No one knows beforehand if your idea&nbsp;will work or not. If not, any implemented additional details are wasted money. So split your project&nbsp;into <strong>milestones</strong>. Or let the coder do it. The first milestone is always the proof of concept: a script of just your trade idea, with no stops, extra filters, money management, user interface, or other gimmicks. This should be coded at first, and carefully tested in all possible variants. If this script turns out to be profitable, go on with the next step. Otherwise you won&#8217;t need all the rest.</p>
<p>If your trade idea or algorithm is very secret, the coder should offer you a <strong>non-disclosure agreement</strong>. This way he accepts the responsibility to keep your trade method for himself. Which he should do anyway, of course.</p>
<h3>Don&#8217;t listen to the coder</h3>
<p>At least not to me. I used to advise clients about the success chances of their concept &#8211; even before coding and testing it. For instance I declared a certain strategy doomed to fail since it seemed just a complex hodgepodge of conventional indicators. The client was unimpressed. He told me to code it nevertheless. Now, 18 months later, he&#8217;s still living from the returns of that system. Since then I refrain from unsolicited advising.</p>
<p>But you should very well listen to the coder when he suggests different methods of implementing your system, or modifications for simplifying the algorithm or making it more effective. The coder possibly knows your algorithm better than you.</p>
<h3>Pay the coder</h3>
<p>I will be frank: For&nbsp;almost all coders (I&#8217;m no exception), coding is one of the greatest things on earth. For some, it&#8217;s better than sex. We all would <strong>code for free</strong> if there were no alternative. However, professional ethics and our bank account require that we demand payment.</p>
<p>Since&nbsp;coding speed can be very different, it&#8217;s normally not advised to pay a coder by hour, unless you&#8217;ve worked with her a long time and know her well. Normally the coder will quote the project at a fixed price. The price should include not only the coding, but also a support and warranty period after delivery. It usually does not include training the script or adjusting the parameters. This is your task, as it&#8217;s very time consuming and thus would be expensive, but requires no code knowledge.</p>
<p>Just as coding speed and quality, <strong>coding prices</strong> vary strongly among freelancers. Obviously the cheap price is not always the best. On the other hand, if the project is really interesting and the coder would really like to get the job, you can often negotiate a discount. Some ballpark figures: My own contracts start at EUR 170 per strategy, which is my employer&#8217;s required minimum for a simple script. Contracts for complex projects with options trading or machine learning algorithms are in the EUR 1000-2000 range; individual user interfaces, and special analysis or input / output methods can raise the contract to EUR 10,000 or more. My largest contract so far was 1.5 million EUR. Sadly, the small contracts are much more frequent than the large ones&#8230;</p>
<p>Coders usually demand <strong>advance payment</strong>. How much depends on your prominence&nbsp;in relation to the coder. If you are Warren Buffett and the coder is an unknown guy from India, you&#8217;ll be able to negotiate payment after delivery. If you&#8217;re a nondescript retail trader and the coder is employed&nbsp;by a large company, he&#8217;ll likely ask you for 100% advance payment. In most cases the terms will be 50% in advance and 50% after delivery.</p>
<p>If the script works, pay the rest immediately. This won&#8217;t cost you much, but makes a good impression on the coder. I only ever had one single case where the contract price was not paid at all. This is always a bad idea: We coders talk to each other. Not paying a contract might get you in trouble&nbsp;to ever find a coder again. Or worse: You might find one who implements a little surprise in your trading script&#8230;</p>
<h3>Be independent of the coder</h3>
<p>Even when you hire a coder, it makes sense when you acquire a basic understanding of coding &#8211; for instance through the <a href="http://manual.zorro-project.com/tutorial_var.htm">Zorro tutorial</a>. It will take a day or two. But it will allow you not only to better judge the code quality, but also to modify the script beyond just setting parameters. Then you don&#8217;t need to always wait for a new quote by the coder. And you save money. Remember, I have to charge EUR 170 (at least) no matter if I re-write the script completely or only modify a single line.</p>
<h3>Conclusion</h3>
<p>Be very, very meticulous&nbsp;in selecting a coder and working with her or him, and try to understand as much of the&nbsp;code and its structure as possible. This can be the deciding factor for&nbsp;the success of your project. &#8211; In case you&#8217;re curious about my above&nbsp;mentioned one point five million contract, or about the single case when a&nbsp;contract was not paid, or about my most bizarre experience as a hired coder so far: You can read that story <a href="http://www.republic-of-utopia.com/mystery.htm" target="_blank" rel="noopener noreferrer">here</a>. But it is not suited for minors. So if you&#8217;re below 18, please do not click on that link. Thank you.</p>
<hr>
<p><span style="font-size: 10pt;">* Some&nbsp;coders prefer to be referred to as &#8216;programmers&#8217;. The rationale is that a coder just converts an algorithm in code, while a programmer develops the algorithm. This distinction is not really useful: You can not code a trading strategy when you&#8217;re illiterate in algorithms. Thus,&nbsp;I don&#8217;t care if I&#8217;m a coder or a programmer as long as I&#8217;m paid. </span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://financial-hacker.com/i-hired-a-contract-coder/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
			</item>
		<item>
		<title>Money and How to Get It</title>
		<link>https://financial-hacker.com/money-and-how-to-get-it/</link>
					<comments>https://financial-hacker.com/money-and-how-to-get-it/#comments</comments>
		
		<dc:creator><![CDATA[jcl]]></dc:creator>
		<pubDate>Wed, 02 Sep 2015 10:45:51 +0000</pubDate>
				<category><![CDATA[Introductory]]></category>
		<category><![CDATA[No Math]]></category>
		<category><![CDATA[Economy]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Money]]></category>
		<guid isPermaLink="false">http://www.financial-hacker.com/?p=62</guid>

					<description><![CDATA[Contrary to popular belief, money is no material good. It is created out of nothing by banks lending it. Therefore, for each newly created lot of money there&#8217;s the same amount of debt. You&#8217;re destroying the money by repaying your credits. Since this requires a higher sum due to interest and compound interest, and since &#8230; <a href="https://financial-hacker.com/money-and-how-to-get-it/" class="more-link">Continue reading<span class="screen-reader-text"> "Money and How to Get It"</span></a>]]></description>
										<content:encoded><![CDATA[<p>Contrary to popular belief, <strong>money</strong> is no material good. It is created out of nothing by banks lending it. Therefore, for each newly created lot of money there&#8217;s the same amount of <strong>debt</strong>. You&#8217;re destroying the money by repaying your credits. Since this requires a higher sum due to interest and compound interest, and since money is also permanently withdrawn from circulation by hoarding, the entire money supply must constantly grow. It must never shrink. If it still does, as in the 1930 economic crisis, loan defaults, bank crashes and bankruptcies are the result. The monetary system is therefore a classic <strong>Ponzi scheme</strong>.<span id="more-62"></span></p>
<p>Because the money amount always corresponds to the same amount of private and public debt, this debt amount also must inevitably grow, in spite of all the political lamentoes. Reducing public debt would either destroy money or increase private debt proportionately. This happened in fact in the United States around the turn of the millennium, when then-President <strong>Bill Clinton</strong> managed to get by without borrowing, and even achieved a budget surplus. Which caused interests to drop and banks to look elsewhere for distributing their money. The indirect result of Clinton&#8217;s good deed was a massive increase in private debt that eventually led to the mortgage crash of 2007.</p>
<h3>How to acquire it in large amounts</h3>
<p>Money is considered a good thing in almost all cultures. After all, it allows you to do the things you want, and &#8211; even more important &#8211; not to do things you don&#8217;t want to do. It thus represents freedom. You can get to it with different methods. The most obvious is taking away other people&#8217;s money. Here&#8217;s the Top Ten fortunes by known villains, according to Forbes (in US $):</p>
<ol>
<li>Hugo Drax &#8211; <strong>7.6 billion</strong></li>
<li>Auric Goldfinger &#8211; <strong>6.5 billion</strong></li>
<li>Max Zorin &#8211; <strong>5.3 billion</strong></li>
<li>Lex Luthor &#8211; <strong>4.7 billion</strong></li>
<li>Franz Sanchez &#8211; <strong>1 billion</strong></li>
<li>Ernst Stavro Blofeld &#8211; <strong>640 million</strong></li>
<li>Karl Stromberg &#8211; <strong>640 million</strong></li>
<li>Elektra King &#8211; <strong>420 million</strong></li>
<li>Francisco Scaramanga &#8211; <strong>115 million</strong></li>
<li>Dr. Julius No &#8211; <strong>110 million</strong></li>
</ol>
<p>But the most successful in money taking are not, as you might think, drug cartel bosses or leaders of criminal underground organizations, but <strong>presidents and other heads of state</strong>. They can take their share of money with no risk, since they need not fear the law. Here&#8217;s the Top Ten of the acquired fortunes by this way (in US $):</p>
<ol>
<li>Muammar Gaddafi, Libya &#8211; <strong>55 billion</strong></li>
<li>Hosni Mubarak, Egypt &#8211; <strong>50 billion</strong></li>
<li>Mohamed Suharto, Indonesia &#8211; <strong>25 billion</strong></li>
<li>Alexander Lukashenko, Belarus &#8211; <strong>12 billion</strong></li>
<li>Mobutu Sese Seko, Congo &#8211; <strong>7 billion</strong></li>
<li>Ben Ali, Tunisia &#8211; <strong>4 billion</strong></li>
<li>Gnassingbé Eyadéma, Togo &#8211; <strong>4 billion</strong></li>
<li>Obiang Nguema, Equatorial Guinea &#8211; <strong>3 billion</strong></li>
<li>Slobodan Milosevic, Serbia &#8211; <strong>1 billion</strong></li>
<li>&#8216;Baby Doc&#8217; Duvalier, Haiti &#8211; <strong>600 million</strong></li>
</ol>
<p>This list does naturally not include assets of monarchs such as the Sultan of Brunei, who have no need of pilfering because the country belongs to them by law anyway. Or of dictators like Wladimir Putin, whose estimated 125 billion booty (plus a 17,000 sqft palace) officially does not belong to them, but is kept for them by friendly oligarchs. The listed sums must also be considered in relation to the economy of the country. To bag 600 million in grinding poor Haiti is a much more impressive performance than the lousy one billion that Milosevic could siphon off in industrialized Serbia. But as long as you&#8217;re neither a supervillain, nor a head of state, nor both at the same time, you have no choice but to use other means to acquire money. There&#8217;s also the method of buying something cheap and selling it dear. Not as profitable as being a head of state, but it still can produce some handsome gains (annual income in US $):</p>
<ol>
<li>Jim Simons, Renaissance &#8211; <strong>1.7 billion</strong></li>
<li>Ken Griffin, Citadel &#8211; <strong>1.7 billion</strong></li>
<li>Raymond Dalio, Bridgewater &#8211; <strong>1.4 billion</strong></li>
<li>David Tepper, Apaloosa &#8211; <strong>1.4 billion</strong></li>
<li>Izzy Englander, Millenium &#8211; <strong>1.1 billion</strong></li>
<li>David Shaw, Shaw Group &#8211; <strong>750 million</strong></li>
<li>John Overdeck, Two Sigma &#8211; <strong>500 million</strong></li>
<li>David Siegel, Two Sigma &#8211; <strong>500 million</strong></li>
<li>Andreas Halvorsen, Viking &#8211; <strong>370 million</strong></li>
<li>Joseph Edelman, Perceptive &#8211; <strong>300 million</strong></li>
</ol>
<p>All in this list acquired their wealth with <a href="https://zorro-project.com/algotrading.php" target="_blank" rel="noopener">algorithmic trading</a>. Which is the topic of most of the rest of this blog. It does not produce any goods. But on the other hand, it does not steal from anyone. On the contrary, private, small-scale financial trading can boost demand and soften economic inequality. It can redistribute money from the rich to the poor. So it should be rewarded by the government, for instance by a tax exemption. Well, one can dream, at least&#8230;<a id="why"></a></p>
<h3>Why financial hacking?</h3>
<p>Part of my job is developing financial tools and trading systems for clients. So far we coded hundreds of trading strategies with all sorts of algorithms for all sorts of financial instruments. Some worked and fulfilled the client&#8217;s expectations. Some failed miserably. And some worked in the backtest, but not in live trading. Coming from a background of theoretical physics and computer game programming, I wondered why trading seems not to be an exact science at all. What is the difference between a successful and a doomed strategy? And how can you determine that before actually trading it?</p>
<p>On this blog I&#8217;ll attempt a <strong>hacking approach to algorithmic trading</strong>. Hacking is nothing illegal, it&#8217;s just a pragmatic way to solve problems. Hackers prefer experiment over theory. They don&#8217;t give a damn about the wisdom of gurus or authorities. So I&#8217;ll start with considering all praised trade systems worthless and all &#8220;trader&#8217;s wisdom&#8221; irrational and nonsense until proven otherwise. I will try to evaluate <strong>by systematic experimenting </strong>whether, why, when, and how algorithmic trading does work. My goal is to find out how it can be a reliable income source for a private trader. This might require complex statistical or machine learning algorithms &#8211; but that&#8217;s no big deal with today&#8217;s software tools. All scripts and software to the articles will be put up for download, so anyone interested can reproduce all the results and use the strategies. After all, successful private trading is for the common good.</p>
<p>As this blog is about algorithmic trading, I&#8217;m going to post here a lot of algorithms and source code. Naturally not any trader is able to read code. On the other hand, some basic code and math understanding is required for making sense of the articles. To go from zero to a full understanding of the articles on this blog, here&#8217;s a <a href="http://manual.zorro-project.com/links.htm" target="_blank" rel="noopener noreferrer">list of Useful Books</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://financial-hacker.com/money-and-how-to-get-it/feed/</wfw:commentRss>
			<slash:comments>24</slash:comments>
		
		
			</item>
	</channel>
</rss>
