<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	
	>
<channel>
	<title>
	Comments on: Ehlers’ Ultimate Smoother	</title>
	<atom:link href="https://financial-hacker.com/ehlers-ultimate-smoother/feed/" rel="self" type="application/rss+xml" />
	<link>https://financial-hacker.com/ehlers-ultimate-smoother/</link>
	<description>A new view on algorithmic trading</description>
	<lastBuildDate>Sun, 19 May 2024 08:37:55 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		By: Petra Volkova		</title>
		<link>https://financial-hacker.com/ehlers-ultimate-smoother/#comment-102102</link>

		<dc:creator><![CDATA[Petra Volkova]]></dc:creator>
		<pubDate>Sun, 19 May 2024 08:37:55 +0000</pubDate>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4717#comment-102102</guid>

					<description><![CDATA[series(X,4) creates a time series of length 4 with the content of X. X[n] is X lagged by n periods. In plain R, you can use a vector for a time series, and shift its content at any bar. Some R packages have special data structures for time series.]]></description>
			<content:encoded><![CDATA[<p>series(X,4) creates a time series of length 4 with the content of X. X[n] is X lagged by n periods. In plain R, you can use a vector for a time series, and shift its content at any bar. Some R packages have special data structures for time series.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Babbage		</title>
		<link>https://financial-hacker.com/ehlers-ultimate-smoother/#comment-102085</link>

		<dc:creator><![CDATA[Babbage]]></dc:creator>
		<pubDate>Sat, 18 May 2024 20:03:50 +0000</pubDate>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4717#comment-102085</guid>

					<description><![CDATA[oh, look here, lots of code samples. I should be able to figure it out.  
https://traders.com/Documentation/FEEDbk_docs/2024/04/TradersTips.html]]></description>
			<content:encoded><![CDATA[<p>oh, look here, lots of code samples. I should be able to figure it out.<br />
<a href="https://traders.com/Documentation/FEEDbk_docs/2024/04/TradersTips.html" rel="nofollow ugc">https://traders.com/Documentation/FEEDbk_docs/2024/04/TradersTips.html</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Babbage		</title>
		<link>https://financial-hacker.com/ehlers-ultimate-smoother/#comment-102084</link>

		<dc:creator><![CDATA[Babbage]]></dc:creator>
		<pubDate>Sat, 18 May 2024 19:21:32 +0000</pubDate>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4717#comment-102084</guid>

					<description><![CDATA[Hi Petra, have some questions about series() in Zorro, as I try to run this in R. I think that this line: 
  vars US = series(*Data,4);
creates a structure wherein *Data is lagged up to 4 times, so 
US[0] = unlagged *Data
US[1] = lagged *Data 1 period
US[2] = lagged *Data 2 period
US[3] = lagged *Data 3 periods

I can do that in R (manual lagging of data series), and have but what I don&#039;t understand is what Data[0], Data[1] and Data[2]  represent in the return line? Your code doesn&#039;t use a series() function to make a Data series other than US[], so I can&#039;t see it in your code.

Here&#039;s what I have so far (in R): 
USmoo &#060;- function (data, length)
{
  f &#060;- (1.414*pi) / length;
  a1 &#060;- exp(-f);
  c2 &#060;- 2*a1*cos(f);
  c3 &#060;- -a1*a1;
  c1 &#060;- (1+c2-c3)/4;
  #US &#060;- series(data,4); #this is a lagged series, so we&#039;ll do some lags
  US1 &#060;- stats::lag(data,1)
  US2 &#060;- stats::lag(data,2)
  #unsure about Data[1] and Data[2]. My guess is certainly wrong, you would have used US[] instead.
  DA1 &#060;- stats::lag(data,1) 
  DA2 &#060;- stats::lag(data,2)
  # (your code) return US[0] = (1-c1)*Data[0] + (2*c1-c2)*Data[1] - (c1+c3)*Data[2] + c2*US[1] + c3*US[2];
  # my return line wraps with na.omit() to omit NA values
  return ( na.omit( (1-c1)*data + (2*c1-c2)*DA1 - (c1+c3)*DA2 + c2*US1 + c3*US2 ) );
}

Down to the lags and return line, it was very easy conversion. Right now Data[1] and Data[2] are identical to US[1] and US[2], reflecting my lack of understanding of what the Data[] series represents. Any thoughts greatly appreciated, from you or other visitors of course.]]></description>
			<content:encoded><![CDATA[<p>Hi Petra, have some questions about series() in Zorro, as I try to run this in R. I think that this line:<br />
  vars US = series(*Data,4);<br />
creates a structure wherein *Data is lagged up to 4 times, so<br />
US[0] = unlagged *Data<br />
US[1] = lagged *Data 1 period<br />
US[2] = lagged *Data 2 period<br />
US[3] = lagged *Data 3 periods</p>
<p>I can do that in R (manual lagging of data series), and have but what I don&#8217;t understand is what Data[0], Data[1] and Data[2]  represent in the return line? Your code doesn&#8217;t use a series() function to make a Data series other than US[], so I can&#8217;t see it in your code.</p>
<p>Here&#8217;s what I have so far (in R):<br />
USmoo &lt;- function (data, length)<br />
{<br />
  f &lt;- (1.414*pi) / length;<br />
  a1 &lt;- exp(-f);<br />
  c2 &lt;- 2*a1*cos(f);<br />
  c3 &lt;- -a1*a1;<br />
  c1 &lt;- (1+c2-c3)/4;<br />
  #US &lt;- series(data,4); #this is a lagged series, so we&#039;ll do some lags<br />
  US1 &lt;- stats::lag(data,1)<br />
  US2 &lt;- stats::lag(data,2)<br />
  #unsure about Data[1] and Data[2]. My guess is certainly wrong, you would have used US[] instead.<br />
  DA1 &lt;- stats::lag(data,1)<br />
  DA2 &lt;- stats::lag(data,2)<br />
  # (your code) return US[0] = (1-c1)*Data[0] + (2*c1-c2)*Data[1] &#8211; (c1+c3)*Data[2] + c2*US[1] + c3*US[2];<br />
  # my return line wraps with na.omit() to omit NA values<br />
  return ( na.omit( (1-c1)*data + (2*c1-c2)*DA1 &#8211; (c1+c3)*DA2 + c2*US1 + c3*US2 ) );<br />
}</p>
<p>Down to the lags and return line, it was very easy conversion. Right now Data[1] and Data[2] are identical to US[1] and US[2], reflecting my lack of understanding of what the Data[] series represents. Any thoughts greatly appreciated, from you or other visitors of course.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Quantocracy&#039;s Daily Wrap for 05/17/2024 - Quantocracy		</title>
		<link>https://financial-hacker.com/ehlers-ultimate-smoother/#comment-102072</link>

		<dc:creator><![CDATA[Quantocracy&#039;s Daily Wrap for 05/17/2024 - Quantocracy]]></dc:creator>
		<pubDate>Sat, 18 May 2024 05:30:07 +0000</pubDate>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4717#comment-102072</guid>

					<description><![CDATA[[&#8230;] Ehlers Ultimate Smoother [Financial Hacker] [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] Ehlers Ultimate Smoother [Financial Hacker] [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Babbage		</title>
		<link>https://financial-hacker.com/ehlers-ultimate-smoother/#comment-102070</link>

		<dc:creator><![CDATA[Babbage]]></dc:creator>
		<pubDate>Sat, 18 May 2024 02:26:57 +0000</pubDate>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4717#comment-102070</guid>

					<description><![CDATA[Yeah, no, I&#039;m not a Zorro user, I&#039;d have to convert it to R first. I just like reading your articles, they&#039;re consistently good. I&#039;ll post back with my findings if I do convert it, your code is always quite readable, shouldn&#039;t be too hard.]]></description>
			<content:encoded><![CDATA[<p>Yeah, no, I&#8217;m not a Zorro user, I&#8217;d have to convert it to R first. I just like reading your articles, they&#8217;re consistently good. I&#8217;ll post back with my findings if I do convert it, your code is always quite readable, shouldn&#8217;t be too hard.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Petra Volkova		</title>
		<link>https://financial-hacker.com/ehlers-ultimate-smoother/#comment-102059</link>

		<dc:creator><![CDATA[Petra Volkova]]></dc:creator>
		<pubDate>Fri, 17 May 2024 13:38:45 +0000</pubDate>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4717#comment-102059</guid>

					<description><![CDATA[Nope. But go ahead and test it - you need only a few lines more in the run function.]]></description>
			<content:encoded><![CDATA[<p>Nope. But go ahead and test it &#8211; you need only a few lines more in the run function.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Babbage		</title>
		<link>https://financial-hacker.com/ehlers-ultimate-smoother/#comment-102058</link>

		<dc:creator><![CDATA[Babbage]]></dc:creator>
		<pubDate>Fri, 17 May 2024 13:30:36 +0000</pubDate>
		<guid isPermaLink="false">https://financial-hacker.com/?p=4717#comment-102058</guid>

					<description><![CDATA[Petra, did you run any backtests on this? Eyeballing the crossovers between the super and ultimate smoothers (on this very short time series) it looks like a remarkable success rate for being long when ultimate is higher than super and short when ultimate is below.]]></description>
			<content:encoded><![CDATA[<p>Petra, did you run any backtests on this? Eyeballing the crossovers between the super and ultimate smoothers (on this very short time series) it looks like a remarkable success rate for being long when ultimate is higher than super and short when ultimate is below.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
