Insert() public method

値の挿入
public Insert ( double x ) : void
x double 挿入したい値
return void
Beispiel #1
0
        public double Update(double x, double y)
        {
            xData.Insert(x);
            yData.Insert(y);

            return(Value);
        }
Beispiel #2
0
        public void CircularBuffer_InsertNotAtBack_IsRejected()
        {
            CircularBuffer <int> q = new CircularBuffer <int>(5)
            {
                1, 2, 3, 4, 5
            };

            q.Insert(0, 13);
        }
 public int Repeat(int times, int step)
 {
     for (var i = 1; i <= times; i++)
     {
         _buffer.StepForward(step);
         _buffer.Insert(i);
     }
     return(_buffer.ValueAt(_buffer.CurrentPosition + 1));
 }
Beispiel #4
0
        public void CircularBuffer_InsertAtBack_OverwritesOldElements()
        {
            CircularBuffer <int> q = new CircularBuffer <int>(5)
            {
                1, 2, 3, 4, 5
            };

            q.Insert(5, 13);
            Assert.AreEqual(5, q.Count, "CircularBuffer should remember its items");
            Assert.IsTrue(q.SequenceEqual(new[] { 2, 3, 4, 5, 13 }), "CircularBuffer should remember its items");
        }
Beispiel #5
0
        public void CircularBuffer_InsertAtBack_MaintainsOrder()
        {
            CircularBuffer <int> q = new CircularBuffer <int>(8)
            {
                1, 2, 3, 4, 5
            };

            q.Insert(5, 13);
            Assert.AreEqual(6, q.Count, "CircularBuffer should remember its items");
            Assert.IsTrue(q.SequenceEqual(new[] { 1, 2, 3, 4, 5, 13 }), "CircularBuffer should remember its items");
        }
Beispiel #6
0
        public static double[] GetSharpe(double[] prices, int numDaysReturns, bool useBPReturns, int SharpeWindow,
                                         int annualisationFactor, bool returnZScore, int ZWindow, bool exponentialSharpe)
        {
            double[] ret  = CalculateReturns(prices, numDaysReturns, useBPReturns);
            int      nRet = prices.Length;

            CircularBuffer <double> returns = new CircularBuffer <double>(SharpeWindow);
            CircularBuffer <double> sharpes = new CircularBuffer <double>(ZWindow);

            double decayFactor = 1 - 2.0 / (SharpeWindow + 1);
            EMA    r_ema       = new EMA(decayFactor);
            EWVol  v_ema       = new EWVol(decayFactor);

            for (int i = 0; i < nRet; ++i)
            {
                returns.Insert(ret[i]);

                if (returns.Full)
                {
                    double sharpe = 0;
                    if (!exponentialSharpe)
                    {
                        double r_t = (prices[i] - prices[i - SharpeWindow + 1]) / prices[i - SharpeWindow + 1] / SharpeWindow;

                        sharpe = r_t / returns.SD() * Math.Sqrt(annualisationFactor);
                    }
                    else
                    {
                        r_ema.Update(ret[i]);
                        v_ema.Update(ret[i]);

                        sharpe = r_ema.Value / v_ema.Value * Math.Sqrt(annualisationFactor);
                    }

                    sharpes.Insert(sharpe);
                }
            }

            double[] r = new double[2];
            r[0] = sharpes.Last();
            r[1] = sharpes.Last() / sharpes.SD();

            return(r);
        }
Beispiel #7
0
        public void UpdateData(ReadOnlySpan <byte> data, uint ts)
        {
            DataLength = (uint)data.Length;
            data.CopyTo(this.data);
            Delta = ts - TimeStamp;
            DeltaBuffer.Insert(Delta);
            TimeStamp = ts;
            RaisePropertyChanged(nameof(TimeStamp));
            RaisePropertyChanged(nameof(Data));
            RaisePropertyChanged(nameof(DataLength));
            RaisePropertyChanged(nameof(Delta));
            uint elapsed = ts - lastPrintTime;

            if (elapsed >= TimeSpan.FromMilliseconds(500).TotalMilliseconds * 1000)
            {
                RaisePropertyChanged(nameof(SmoothDelta));
                lastPrintTime = ts;
            }
        }
Beispiel #8
0
 public void insert(int index, object item)
 {
     _buffer.Insert(index, item);
 }
Beispiel #9
0
 public void Update(double r)
 {
     R_t.Insert(r);
 }
        public void UsageExample()
        {
            // Create a buffer with a capacity of 5 items.
            var buffer = new CircularBuffer <long>(5);

            // Add three.
            foreach (var i in Enumerable.Range(1, 3))
            {
                buffer.Enqueue(i);
            }
            Debug.WriteLine(buffer);
            // Capacity=5, Count=3, Buffer=[1,2,3]

            // Add three more.
            foreach (var i in Enumerable.Range(4, 3))
            {
                buffer.Enqueue(i);
            }
            Debug.WriteLine(buffer);
            // Capacity=5, Count=5, Buffer=[2,3,4,5,6]

            // Remove the third.
            var value = buffer[3];

            buffer.RemoveAt(3);
            Debug.WriteLine(buffer);
            // Capacity=5, Count=4, Buffer=[2,3,4,6]

            // Re-insert it.
            buffer.Insert(3, value);
            Debug.WriteLine(buffer);
            // Capacity=5, Count=5, Buffer=[2,3,4,5,6]

            // Dequeue.
            Debug.Print("Value = {0}", buffer.Dequeue());
            // Value = 2
            Debug.WriteLine(buffer);
            // Capacity=5, Count=4, Buffer=[3,4,5,6]

            // Increase the capacity.
            buffer.Capacity = 6;
            Debug.WriteLine(buffer);
            // Capacity=6, Count=4, Buffer=[3,4,5,6]

            // Add three more.
            foreach (var i in Enumerable.Range(7, 3))
            {
                buffer.Enqueue(i);
            }
            Debug.WriteLine(buffer);
            // Capacity=6, Count=6, Buffer=[4,5,6,7,8,9]

            // Reduce the capacity.
            buffer.Capacity = 4;
            Debug.WriteLine(buffer);
            // Capacity=4, Count=4, Buffer=[4,5,6,7]

            // Clear the buffer.
            buffer.Clear();
            Debug.WriteLine(buffer);
            // Capacity=4, Count=0, Buffer=[]
        }
        public void UsageExample()
        {
            // Create a buffer with a capacity of 5 items.
            var buffer = new CircularBuffer<long>(5);

            // Add three.
            foreach (var i in Enumerable.Range(1, 3))
                buffer.Enqueue(i);
            Debug.WriteLine(buffer);
            // Capacity=5, Count=3, Buffer=[1,2,3]

            // Add three more.
            foreach (var i in Enumerable.Range(4, 3))
                buffer.Enqueue(i);
            Debug.WriteLine(buffer);
            // Capacity=5, Count=5, Buffer=[2,3,4,5,6]

            // Remove the third.
            var value = buffer[3];
            buffer.RemoveAt(3);
            Debug.WriteLine(buffer);
            // Capacity=5, Count=4, Buffer=[2,3,4,6]

            // Re-insert it.
            buffer.Insert(3, value);
            Debug.WriteLine(buffer);
            // Capacity=5, Count=5, Buffer=[2,3,4,5,6]

            // Dequeue.
            Debug.Print("Value = {0}", buffer.Dequeue());
            // Value = 2
            Debug.WriteLine(buffer);
            // Capacity=5, Count=4, Buffer=[3,4,5,6]

            // Increase the capacity.
            buffer.Capacity = 6;
            Debug.WriteLine(buffer);
            // Capacity=6, Count=4, Buffer=[3,4,5,6]

            // Add three more.
            foreach (var i in Enumerable.Range(7, 3))
                buffer.Enqueue(i);
            Debug.WriteLine(buffer);
            // Capacity=6, Count=6, Buffer=[4,5,6,7,8,9]

            // Reduce the capacity.
            buffer.Capacity = 4;
            Debug.WriteLine(buffer);
            // Capacity=4, Count=4, Buffer=[4,5,6,7]

            // Clear the buffer.
            buffer.Clear();
            Debug.WriteLine(buffer);
            // Capacity=4, Count=0, Buffer=[]
        }