Algorithmic Trading with SciChart
Tags: webdev, javascript
Published: 2024-04-05 11:22:53

<!-- wp:paragraph -->
<p>Trading, investing is a little bit of a passion of mine. <a href="https://linkedin.com/in/dr-andrew-burnett-thompson">In my career, I've worked in Tier-1 Investment banks</a>, trading firms and been involved in one way or another with financial markets for over 10 years. My company, <a href="https://www.scichart.com">SciChart</a>, has to balance and hedge incomes in Euros and Dollars. I post over on my <a href="https://twitter.com/drandrewbt">Twitter</a> about trading, as well as SciChart and business &amp; entrepeneur tips I've learned over the years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Also, I'm a software engineer and big proponent of High Performance <a href="https://www.scichart.com/wpf-chart-features">WPF Charts</a> as you know! So, I thought to myself <em>'what if I combine these two skills in a project'</em>? <strong>Enter: Algorithmic Trading with SciChart</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="the-problem">The Problem</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The cryptocurrency market (Bitcoin, Ethereum etc...) is extremely volatile. It's notoriously difficult to trade. We're talking about a market where an asset increased 20x in a single year (January 2016 - December 2017) and then decreased by 70% in the following year. How is such a market tradeable?</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":33059,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="wp-image-33059" src="https://www.scichart.com/wp-content/uploads/2022/05/BTCUSD-2017.png" alt="" />
<figcaption>Bitcoin USD increased from $800 in January 2017 to $20,000 by the end of the year, a more than 20x increase in a single year</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>It turns out, it is.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>With simple rules, signal processing and statistical analysis, <strong>I created a trading algorithm which yielded 200% returns year-on-year, or 600% in a specific two-year period.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="the-algorithm">The Algorithm</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Divulging exact specifics of my trading algorithm would be giving away valuable information, but I can tell you that it used a combination of the following.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<li>Moving averages</li>
<li>Indicators such as Relative Strength Index (RSI)</li>
<li>Volume analysis</li>
<li>Trend Analysis</li>
<li>Support &amp; Resistance analysis</li>
<li>Multi-timeframe analysis</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>In other words, there's no crazy magic behind this algorithm, it doesn't use AI (artificial intelligence) or Machine learning. It doesn't divulge sentiment from twitter posts or anything like that. Just good old-fashioned trading techniques automated into a bot which isn't subject to human emotion or hesitency.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="trading-results">Trading Results</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>So how well does this trading algorithm perform? In simulated backtests, it averages 200% year on year with historical data on the BTC/USD pair on Binance, or up to 600% for a two-year period. Pretty incredible!</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can watch a <a href="https://www.youtube.com/watch?v=2B35PvxCqi0">webinar below</a> talking about the trading algorithm and implementation with SciChart, or read on to find more details below.</p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<figure class="kg-card kg-embed-card"><iframe src="https://www.youtube.com/embed/2B35PvxCqi0?feature=oembed" width="459" height="344" frameborder="0" allowfullscreen="allowfullscreen"></iframe></figure>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 id="the-capabilities-of-scichart-for-backtesting-trading-applications">The Capabilities of SciChart for Backtesting &amp; Trading Applications</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We haven't released the source-code for this project (as you can imagine, it's potentially quite valuable) and I don't want to give away too much about how we built this or what the trading algorithm does.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>What I do want to do, is highlight the capabilities of SciChart in financial, algotrading and quantitative-trading applications</strong>, and show you a little bit about how you can build (the architecture of) an application like this.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 id="displaying-multiple-series-multiple-timeframes">Displaying Multiple Series, Multiple Timeframes</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>SciChart has the abillity to display multiple series on a chart pane. For example, in our own backtester and trading algorithm we use multiple timeframe analysis. <strong>What if we could display multiple timeframes on the same chart?</strong> Turns out we can, the below screenshot shows Daily candlesticks overlaid over 2-hour candlesticks. It gives an extra dimension to the data to be able to view what the price is doing both intraday, and daily.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":33062,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="wp-image-33062" src="https://www.scichart.com/wp-content/uploads/2020/09/image-2.png" alt="" />
<figcaption>Above: Using SciChart we overlaid Daily candlesticks (semi transparent) on intraday candlesticks, giving a 3D view into the market.</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3 id="displaying-indicators-multi-pane-stock-charts">Displaying Indicators, Multi-pane Stock Charts</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><a href="https://www.scichart.com/example/wpf-chart/wpf-chart-example-multi-pane-stock-charts/">SciChart can display multiple charts, and link them together</a>. Using this feature we're able to create a multi-pane stock chart control which looks and acts like a stock trading platform. This feature allows us to create complex dashboards, and visualisations but is especially useful in trading apps.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":33064,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="wp-image-33064" src="https://www.scichart.com/wp-content/uploads/2021/10/image-4.png" alt="" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>In the image above we actually have four <a href="https://www.scichart.com/documentation/win/current/Tutorial%2002%20-%20Creating%20a%20SciChartSurface.html">SciChartSurfaces</a> or 'chart panes' linked together. These are showing:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol>
<li>The main price pane with Daily, Intraday <a href="https://www.scichart.com/example/javascript-chart/javascript-candlestick-chart/">candlesticks</a> using our <a href="https://www.scichart.com/documentation/win/current/The%20Candlestick%20charts%20type.html">Candlestick series</a>, Moving averages with <a href="https://www.scichart.com/documentation/win/current/The%20Line%20Series%20Type.html">Line series</a> and a Bollinger-like channel with SciChart's <a href="https://www.scichart.com/documentation/win/current/The%20Band%20Series%20Type.html">Band series</a>. We've displayed volume on the main pane as well using a <a href="https://www.scichart.com/documentation/win/current/The%20Column%20Series%20Type.html">Column series</a> and a feature called the <a href="https://www.scichart.com/documentation/win/current/Paletted%20Series.html">PaletteProvider</a> to colour the bars green or red depending on whether price closed up or down.</li>
<li>Sub pane with Relative Strength Index (RSI) again on two timeframes using SciChart's <a href="https://www.scichart.com/documentation/win/current/The%20Line%20Series%20Type.html">Line series</a>. This second pane also includes a <a href="https://www.scichart.com/documentation/win/current/The%20BoxAnnotation%20Type.html">BoxAnnotation</a> which is used to highlight the oversold/overbought areas of the RSI.</li>
<li>Sub pane with profit and loss or equity curve rendered as a <a href="https://www.scichart.com/documentation/win/current/The%20Mountain%20Series%20Type.html">Mountain or Area chart</a>, extremely important for tracking the profitability of your trading algorithm over time.</li>
<li>Lastly, a sub pane displaying a custom trend indicator, where we have determined the trend of the price (in this case trend of Bitcoin or BTCUSD) and drawn this using a <a href="https://www.scichart.com/documentation/win/current/The%20Column%20Series%20Type.html">Column chart</a>, again using the <a href="https://www.scichart.com/documentation/win/current/Paletted%20Series.html">PaletteProvider API</a> to colour the columns green or red depending on trend.</li>
</ol>
<!-- /wp:list -->

<!-- wp:spacer {"height":"30px"} -->
<div class="wp-block-spacer" style="height: 30px;" aria-hidden="true"> </div>
<!-- /wp:spacer -->

<!-- wp:quote -->
<blockquote class="wp-block-quote">
<p><em><strong>Note:</strong> We've used WPF (Windows) for this application but <strong>all these SciChart features are available cross-platform</strong>: on native iOS/Android (mobile), MacOS as well as JavaScript.</em></p>
</blockquote>
<!-- /wp:quote -->

<!-- wp:heading {"level":3} -->
<h3 id="intuitive-zooming-panning-and-tooltip-legends">Intuitive Zooming, Panning and Tooltip/Legends</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>One of the most intuitive trading applications with web stock charts is <a href="/p/8af9381c-bf8b-48d3-a474-233b67777228/www.tradingview.com">TradingView</a>. In this application, you can:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<li>Pan the chart by dragging on the main chart area</li>
<li>Zoom or scale an Axis by dragging on the axis</li>
<li>See tooltips, prices in a legend</li>
<li>Switch between auto-scaling in Y and manual scaling</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>You can configure SciChart to do exactly the same operations with our powerful <a href="https://www.scichart.com/documentation/win/current/What%20is%20the%20ChartModifier%20API.html">ChartModifier API</a>. We've configured a number of modifiers, which add tooltip, legend, zoom and pan behaviour to a chart to recreate the TradingView experience.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><!--kg-card-begin: html--><video autoplay="autoplay" loop="loop" controls="controls" width="100%" height="150"><source src="https://www.scichart.com/Downloads/Clients/Zoom-panning-algo-trading-with-scichart.mp4" type="video/mp4" />Sorry, your browser doesn't support embedded videos.</video><!--kg-card-end: html--></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Here's our code to do this:</p>
<!-- /wp:paragraph -->

<!-- wp:scichart/code-snippet {"code":"u003cs:SciChartSurfaceu003en    ...n    u003c!u002du002d Declare the ChartModifiers in a SciChartSurface to enable u002du002du003en    u003c!u002du002d TradingView style zooming, panning u002du002du003en    u003cs:SciChartSurface.ChartModifieru003en        u003cs:ModifierGroup s:MouseManager.MouseEventGroup=u0022{Binding MouseEventGroup}u0022u003en            u003cs:ZoomPanModifier IsEnabled=u0022{Binding IsZoomPanEnabled, Mode=TwoWay}u0022 ReceiveHandledEvents=u0022Trueu0022 /u003en            u003cchartPanes:YAxisDragToFreeRangeModifier IsEnabled=u0022{Binding IsYAxisDragEnabled}u0022 ReceiveHandledEvents=u0022Trueu0022u003en                u003ctelerik:EventToCommandBehavior.EventBindingsu003en                    u003ctelerik:EventBinding Command=u0022{Binding Path=DataContext.DisableAutoRangeCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type chartPanes:PlotWindow}}}u0022 n                                          EventName=u0022Pannedu0022/u003en                u003c/telerik:EventToCommandBehavior.EventBindingsu003en            u003c/chartPanes:YAxisDragToFreeRangeModifieru003en            u003cs:XAxisDragModifier  IsEnabled=u0022{Binding IsXAxisDragEnabled}u0022 ReceiveHandledEvents=u0022Trueu0022 /u003en            u003cs:MouseWheelZoomModifier IsEnabled=u0022{Binding IsMouseWheelEnabled}u0022 ReceiveHandledEvents=u0022Trueu0022 ActionType=u0022Zoomu0022 GrowFactor=u00220.05u0022 XyDirection=u0022XYDirectionu0022/u003en            u003cs:CursorModifier x:Name=u0022CursorModifieru0022 IsEnabled=u0022{Binding IsCursorModifierEnabled}u0022 ShowTooltipOn=u0022Neveru0022 ReceiveHandledEvents=u0022Trueu0022 SnappingMode=u0022CrosshairToSeriesXu0022 /u003en            u003cs:RolloverModifier x:Name=u0022RolloverModifieru0022 ReceiveHandledEvents=u0022Trueu0022 DrawVerticalLine=u0022Falseu0022 ShowAxisLabels=u0022Falseu0022 ShowTooltipOn=u0022Neveru0022/u003en            u003cs:ZoomExtentsModifier IsEnabled=u0022{Binding IsZoomExtentsEnabled}u0022 ReceiveHandledEvents=u0022Trueu0022 /u003en        u003c/s:ModifierGroupu003en    u003c/s:SciChartSurface.ChartModifieru003ennu003c/s:SciChartSurfaceu003e","proglang":"language-xml"} -->
<div class="wp-block-scichart-code-snippet">
<pre class="line-numbers code-toolbar language-xml">&lt;s:SciChartSurface&gt;
    ...
    &lt;!-- Declare the ChartModifiers in a SciChartSurface to enable --&gt;
    &lt;!-- TradingView style zooming, panning --&gt;
    &lt;s:SciChartSurface.ChartModifier&gt;
        &lt;s:ModifierGroup s:MouseManager.MouseEventGroup="{Binding MouseEventGroup}"&gt;
            &lt;s:ZoomPanModifier IsEnabled="{Binding IsZoomPanEnabled, Mode=TwoWay}" ReceiveHandledEvents="True" /&gt;
            &lt;chartPanes:YAxisDragToFreeRangeModifier IsEnabled="{Binding IsYAxisDragEnabled}" ReceiveHandledEvents="True"&gt;
                &lt;telerik:EventToCommandBehavior.EventBindings&gt;
                    &lt;telerik:EventBinding Command="{Binding Path=DataContext.DisableAutoRangeCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type chartPanes:PlotWindow}}}" 
                                          EventName="Panned"/&gt;
                &lt;/telerik:EventToCommandBehavior.EventBindings&gt;
            &lt;/chartPanes:YAxisDragToFreeRangeModifier&gt;
            &lt;s:XAxisDragModifier  IsEnabled="{Binding IsXAxisDragEnabled}" ReceiveHandledEvents="True" /&gt;
            &lt;s:MouseWheelZoomModifier IsEnabled="{Binding IsMouseWheelEnabled}" ReceiveHandledEvents="True" ActionType="Zoom" GrowFactor="0.05" XyDirection="XYDirection"/&gt;
            &lt;s:CursorModifier x:Name="CursorModifier" IsEnabled="{Binding IsCursorModifierEnabled}" ShowTooltipOn="Never" ReceiveHandledEvents="True" SnappingMode="CrosshairToSeriesX" /&gt;
            &lt;s:RolloverModifier x:Name="RolloverModifier" ReceiveHandledEvents="True" DrawVerticalLine="False" ShowAxisLabels="False" ShowTooltipOn="Never"/&gt;
            &lt;s:ZoomExtentsModifier IsEnabled="{Binding IsZoomExtentsEnabled}" ReceiveHandledEvents="True" /&gt;
        &lt;/s:ModifierGroup&gt;
    &lt;/s:SciChartSurface.ChartModifier&gt;

&lt;/s:SciChartSurface&gt;</pre>
</div>
<!-- /wp:scichart/code-snippet -->

<!-- wp:paragraph -->
<p>We use a <a href="https://www.scichart.com/documentation/win/current/ZoomPanModifier.html">ZoomPanModifier</a>, <a href="https://www.scichart.com/documentation/win/current/XAxisDragModifier.html">XAxisDragModifier</a>, <a href="https://www.scichart.com/documentation/win/current/MouseWheelZoomModifier.html">MouseWheelZoomModifier</a> and <a href="https://www.scichart.com/documentation/win/current/ZoomExtentsModifier.html">ZoomExtentsModifier</a> to provide the zoom and pan behaviours. In addition to that, we've created a <a href="https://www.scichart.com/documentation/win/current/Custom_Modifiers_–_ChartModifierBase_API.html">custom modifier</a> which lets us scale the YAxis but 'undock' the autoscale like TradingView. There are also additional modifiers called the <a href="https://www.scichart.com/documentation/win/current/CursorModifier.html">CursorModifier</a> and <a href="https://www.scichart.com/documentation/win/current/RolloverModifier.html">RolloverModifier</a> which are being used to provide the crosshairs, and data-source for the legend at the top left of the chart. Which by the way, is a custom legend, declared like this:</p>
<!-- /wp:paragraph -->

<!-- wp:scichart/code-snippet {"code":"u003c!u002du002d Note, datatemplates have been omitted for brevity u002du002du003enu003c!u002du002d but notice you can bind to RolloverModifier.SeriesData.SeriesInfo u002du002du003e nu003c!u002du002d to create custom legends u002du002du003enu003cItemsControl Grid.Row=u00220u0022n              MinHeight=u002224u0022n              Margin=u002220u0022n              IsHitTestVisible=u0022Falseu0022n              Background=u0022#33333333u0022n              DataContext=u0022{Binding Source={x:Reference Name=PriceChart}, Path=ChartModifier}u0022n              ItemTemplateSelector=u0022{StaticResource ChartDataTemplateSelector}u0022n              ItemsSource=u0022{Binding Path=[RolloverModifier].SeriesData.SeriesInfo}u0022n              Visibility=u0022{Binding Path=[RolloverModifier].IsEnabled,n                                       Converter={StaticResource BooleanToVisibilityConverter}}u0022u003en    u003cItemsControl.ItemsPanelu003en        u003cItemsPanelTemplateu003en            u003cStackPanel Orientation=u0022Horizontalu0022 /u003en        u003c/ItemsPanelTemplateu003en    u003c/ItemsControl.ItemsPanelu003enu003c/ItemsControlu003e","proglang":"language-xml"} -->
<div class="wp-block-scichart-code-snippet">
<pre class="line-numbers code-toolbar language-xml">&lt;!-- Note, datatemplates have been omitted for brevity --&gt;
&lt;!-- but notice you can bind to RolloverModifier.SeriesData.SeriesInfo --&gt; 
&lt;!-- to create custom legends --&gt;
&lt;ItemsControl Grid.Row="0"
              MinHeight="24"
              Margin="20"
              IsHitTestVisible="False"
              Background="#33333333"
              DataContext="{Binding Source={x:Reference Name=PriceChart}, Path=ChartModifier}"
              ItemTemplateSelector="{StaticResource ChartDataTemplateSelector}"
              ItemsSource="{Binding Path=[RolloverModifier].SeriesData.SeriesInfo}"
              Visibility="{Binding Path=[RolloverModifier].IsEnabled,
                                       Converter={StaticResource BooleanToVisibilityConverter}}"&gt;
    &lt;ItemsControl.ItemsPanel&gt;
        &lt;ItemsPanelTemplate&gt;
            &lt;StackPanel Orientation="Horizontal" /&gt;
        &lt;/ItemsPanelTemplate&gt;
    &lt;/ItemsControl.ItemsPanel&gt;
&lt;/ItemsControl&gt;</pre>
</div>
<!-- /wp:scichart/code-snippet -->

<!-- wp:paragraph -->
<p>The possibilities for SciChart configurability are endless, and we also have similar APIs on Mobile (iOS, Android), MacOS and soon JavaScript.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 id="overlaying-buy-sell-markers-and-viewing-your-trades">Overlaying Buy, Sell markers and viewing your Trades</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>What about viewing your trades on the chart? SciChart also has a feature called <a href="https://www.scichart.com/documentation/win/current/Intro%20to%20the%20Annotations%20API.html">Annotations</a>. This allows you to place markers and overlays on the chart, which scroll, pan and zoom with the chart. SciChart's <a href="https://www.scichart.com/documentation/win/current/Intro%20to%20the%20Annotations%20API.html">Annotations API</a> supports out of the box the following:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<li><a href="https://www.scichart.com/documentation/win/current/The%20LineAnnotation%20Type.html">LineAnnotation</a> (trend lines)</li>
<li>LineArrowAnnotation (line with arrow)</li>
<li><a href="https://www.scichart.com/documentation/win/current/The%20BoxAnnotation%20Type.html">BoxAnnotation</a> (box regions)</li>
<li><a href="https://www.scichart.com/documentation/win/current/The%20TextAnnotation%20Type.html">TextAnnotation</a></li>
<li><a href="https://www.scichart.com/documentation/win/current/The%20CustomAnnotation%20Type.html">CustomAnnotation</a> (any user-defined shape)</li>
<li><a href="https://www.scichart.com/documentation/win/current/The%20CompositeAnnotation%20Type.html">CompositeAnnotation</a> (create complex shapes or groups such as Fibonnaci retracements)</li>
</ul>
<!-- /wp:list -->

<!-- wp:image {"id":33066,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="wp-image-33066" src="https://www.scichart.com/wp-content/uploads/2020/10/image-6.png" alt="" />
<figcaption>The Annotations API in SciChart allows you to place markers, lines, text and custom shapes over the chart at specific X,Y points</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><strong>In the image above you can see Buy / Sell Arrows</strong>. These are created by a <a href="https://www.scichart.com/documentation/win/current/The%20CustomAnnotation%20Type.html">CustomAnnotation</a> and placed where trades are made on the chart. Additional information can be stored in a tooltip if you wish to inspect the trade and see what is happening in the trading algorithm.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The buy/sell arrows are placed above or below the candle high/low so there is a dot at the exact trade location as well, provided by SciChart's <a href="https://www.scichart.com/documentation/win/current/The%20Scatter-Line%20Series%20Type.html">Scatter series</a>. These are enabled by listening to the trade data feed and simply creating the series / annotations in code and adding them to the chart. SciChart does the rest!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="scichart-cross-platform-charts-for-finance-trading">SciChart: Cross-Platform Charts for Finance &amp; Trading</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>SciChart is a very capable <a href="https://www.scichart.com">chart component</a>. With support for multi-platform including Windows (WPF, C#), native iOS &amp; Android, Mac OSX and soon <a href="https://www.scichart.com/scichart-js-update-fast-realtime-javascript-charts/">JavaScript Charts with our powerful, fast SciChart.js component</a>, there's a myriad of applications you can create from financial, to scientific, medical and business dashboarding apps.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our customers (exchanges, brokerages and banks), have used our award-winning chart software to create desktop financial &amp; trading apps, as well as mobile trading apps and we are working to add features for the fintech sector to make SciChart more appealing to this market.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>We ourselves are able to offer <a href="/expert-consultants-in-high-performance-data-visualisation/">consultancy with our experts in finance, trading apps as well as high performance data-visualisation</a></strong>. If you wish us to develop an application or consult on the best way to use SciChart then <a href="https://www.scichart.com/contact-us/">contact sales</a>, we would be very pleased to help!</p>
<!-- /wp:paragraph -->

<!-- wp:image -->
<figure class="wp-block-image"><img src="https://www.scichart.com/wp-content/uploads/2020/08/why-scichart-finance.png" alt="" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><!--kg-card-begin: html--> <!--kg-card-end: html--></p>
<!-- /wp:paragraph -->