Skip to main content

Managed Futures Q3 Performance Review

2021 is a year when many people have begun to enjoy a return to something like ‘normal’ life after the difficulties of 2020. And it certainly appeared like that for a while in financial markets -  until recently - as many sectors bounced back and hedge fund strategies did well. 

Managed futures was one of those strategies. CTAs appeared to generate close to 5% in the first half of the year, which is not a bad result in any given year. However, Q3 proved to be difficult. A growing number of issues from a variety of economic sectors have started to take their toll on these programs, leading to mostly flat returns in Q3, according to the NilssonHedge CTA Indexes. A small increase from the systematic programs was offset by a pull back by the discretionary ones.

Figure 1: Most recent four quarters returns chart for Nilsson Hedge CTA Indices

AlphaBot

Source: AlphaBot, Nilsson Hedge

Table 1: Most recent three quarters Nilsson Hedge CTA Indices performance table

AlphaBot

Source: AlphaBot, Nilsson Hedge

The hesitation of the indices to move higher is intuitively, easily explained. On one hand, there is a lot of money being infused into the markets, driving prices (including commodities) up. At the same time, a growing number of issues such as product shortages, inflation, global shipping, and others have caused an increase in investor anxiety and market uncertainty, resulting in a noticeable decline in public equities in September.

Figure 2: Monthly Performance of S&P 500 vs CTAs in 2021

AlphaBot

Source AlphaBot, Nilsson Hedge

This environment is a difficult one to navigate well, and it translates into a number of strategies, including managed futures. It remains to be seen if Q4 will show an improvement as the causes of the underlying issues do not seem to be abating, which in turn may cause more market uncertainty and instability. October seems pretty optimistic for equities, though, so it will be interesting to see how CTAs kick off the last quarter of the year once monthly returns start to come in early November.

**********

Dmitri Alexeev is Founder and CEO of AlphaBot, a collaborative platform for alternative investment research

***

The views expressed in this article are those of the author and do not necessarily reflect the views of AlphaWeek or its publisher, The Sortino Group

Content role
Public

© The Sortino Group Ltd

All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or scanning or otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency or other Reprographic Rights Organisation, without the written permission of the publisher. For more information about reprints from AlphaWeek, click here.

The website encountered an unexpected error. Please try again later.
Error: Call to a member function getColumns() on bool in Drupal\Core\Entity\Query\Sql\Tables->addField() (line 246 of core/lib/Drupal/Core/Entity/Query/Sql/Tables.php).
Drupal\Core\Entity\Query\Sql\Tables->addField() (Line: 58)
Drupal\Core\Entity\Query\Sql\Condition->compile() (Line: 177)
Drupal\Core\Entity\Query\Sql\Query->compile() (Line: 81)
Drupal\Core\Entity\Query\Sql\Query->execute() (Line: 419)
Drupal\simplenews\Mail\Mailer->updateSendStatus() (Line: 346)
simplenews_cron() (Line: 250)
Drupal\Core\Cron->Drupal\Core\{closure}() (Line: 405)
Drupal\Core\Extension\ModuleHandler->invokeAllWith() (Line: 258)
Drupal\Core\Cron->invokeCronHandlers() (Line: 136)
Drupal\Core\Cron->run() (Line: 75)
Drupal\Core\ProxyClass\Cron->run() (Line: 65)
Drupal\automated_cron\EventSubscriber\AutomatedCron->onTerminate()
call_user_func() (Line: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 103)
Symfony\Component\HttpKernel\HttpKernel->terminate() (Line: 32)
Stack\StackedHttpKernel->terminate() (Line: 702)
Drupal\Core\DrupalKernel->terminate() (Line: 22)