Ed Seykota, 2003 - 2009 ... Write for permission to reprint.

Ed Seykota's FAQ

(formerly: Frequently Appearing Questions)

Home  ...  FAQ Index & Ground Rules  ...  Tribe Directory - How to Join

TTP - The Trading Tribe Process  ...  Rocks  ...  Glossary

  TTP Workshop  ...  Resources  ...  Site Search  ...  The Trading Tribe Book

TSP: Trading System Project  ...  Breathwork ...  Levitator

EcoNowMics  ...  Contact Us  ...  The Whipsaw Song ...  Music



Good Vibrations

Clip: http://www.youtube.com/watch?v=nC2gZMNkyJo

Modeling a Pendulum


by Nick Louca, October, 2009

(c) 2009 by Ed Seykota




Clip: http://en.wikipedia.org/wiki/File:Pendulum_animation.gif


Note: A: acceleration, V: velocity



The oscillator is the first paper I research on Second Order (two levels) Negative Feedback Systems.  In this study I observe a pendulum in motion and develop a Second Order Negative Feedback model to get deeper insight about oscillations and pendulum dynamics.


The underlying mechanism of the Pendulum is widely in use in countless applications such as timekeeping devices, seismographic instruments, the building of bridge structures and many more.  I find studying the dynamics of a pendulum and oscillation intriguing.  I share my process in this paper.


Defining Second Order Negative Feedback


A Second Order Negative Feedback System is a system with two Levels (state variables).  The Levels control the Rates through feedback.  The  system might also include a Target, a Gap and a Time Constant or other system variables depending on the system model that we are developing.  These variables make up the "Policy" for managing the Rates in response to the Level.


The characteristic behavior of the Second Order Negative Feedback Loop is oscillation.




Second Order Negative Feedback System


Defining the Pendulum


A pendulum is a mass that suspends from a string vertically from  a point.  Another name for the mass is "bob".  The point the pendulum hangs from may be static or not.  A pendulum that suspends from a fixed point is un-driven.  In cases where the pendulum suspends from a moving point, we might refer to this as a driven pendulum.


The pendulum swings freely upon displacement from its original resting position and release.  The pendulum swings down and up to the other side.  Forces of gravity act on the pendulum to restore it to its equilibrium position.


Without friction the pendulum continues oscillating indefinitely.  With friction (wind resistance, bearing drag) the oscillations attenuate until the pendulum comes to rest at its equilibrium position.  We call this behavior oscillation with damping.


In trading, chart readers may recognize the wedge or pennant formation as exhibiting oscillation with damping.  I look at this later on in this series.


Note: a pendulum that has no friction forces acting on it remains in swinging motion.  We call this  type of pendulum one with no damping.


To learn more on pendulums and experiment with different types you may visit the Pendulum Lab at the University of Basel, Switzerland.



Defining Oscillations


Oscillations refer to the repetitive fluctuations between two or more different states over a neutral point.  The repetitive swings of the pendulum about its center position are oscillations.  The pendulum traces a sine curve as it swings back and forth.  The period of oscillation is the time it takes the pendulum to complete one oscillation.




Clip: http://www.educationalelectronicsusa.com/p/shm-II.htm


Note: A period of oscillation is the time it takes the

pendulum to go from point B to A  to C and back to

point B as it passes through point A.




Clip: http://en.wikipedia.org/wiki/File:Simple_harmonic_motion_animation.gif


Oscillation about a center position.



Building the Pendulum Model


My objective in developing the pendulum model is to understand the forces that act on a pendulum, gain deeper insight into the nature of oscillations and understand the dynamics of second order feedback systems.


To build the model of the pendulum I go through a number of steps that we might use as a general guide in system modeling.



Steps in Modeling


1. Identify the Behavior

2. Measure the Behavior

3. Develop a Simple Model

4. Compare the Model Behavior with Actual Data

5. Measure the Structure

6. Develop a More Accurate Model

7. Compare the Models

8. Conclusions


1.  Identify the Behavior


I observe a pendulum in motion as it swings back and forth, see clip.  I imagine gravity pulling down on the bob as it moves towards the center position.  I also notice how the pendulum overshoots past the center position.  I imagine the pendulum tracing a sinusoidal curve.




Clip: http://www.earthsci.unimelb.edu.au/ES304/MODULES/GRAV/NOTES/pend.html

A Pendulum tracing a Sine Curve


2.         Measure the Behavior


My next step is to measure the behavior of the Pendulum.


I first measure gravity that acts as a restoring force on the pendulum.  To do so I horizontally displace the pendulum from 3 different positions 0.5m, 0.75m, 1m.  I use a stopwatch to time how long it takes the pendulum to complete 20 oscillations from each of the three displacement positions.


Note: The equilibrium position of the pendulum is 0 meters. 



To derive the value of Gravity I use the following equations:


Period of a Pendulum = 2∏  √(Length/Gravity)


Gravity = (2∏ / period)2  * L

L = length of pendulum = 2.413 meters



My next step is to observe the decay of the pendulum.  I use a paper which I stick to the wall and mark the start and end position of the pendulum after 20 periods.  I arrange the data in a table as per the below.



Displacement 20 periods 1 period Gravity Decay
(meters) (secs) (secs) (meters/sec2) (meters/20 periods)
0.50 62.43 3.1215 9.776657 0.236
0.75 62.63 3.1315 9.776657 0.265
1.00 62.83 3.1415 9.776657 0.384



Note that the period of oscillation might vary for different values of gravity.  In cases where the force of gravity might be smaller than the standard 9.8 m/s2 the period of oscillation may be longer as a result of less force pulling down on the pendulum.


I now have the data I require to develop a Second Order Negative Feedback System to model the pendulum.


3.         Develop a Simple Model


I know from the paper Generic Structures in Oscillating Systems in Road Maps 6,  what the structure of the Pendulum Model looks like.  I also know from the Pendulum Model in Road Maps that there is no damping in this model.  My intention is to develop a model of the pendulum with damping and simulate the exact behavior I observe.


I observe a model of the pendulum that Ed posts to the Trading Tribe site some time ago.  I am curious about what type of results I might get if I apply my data to this system.  I develop this model in iThink.




Structure of Pendulum Model



My tasks in developing this model are a) to understand the dynamics of the model by defining each system component, b) set up my equations and c) ensure that the units of measure in my model are consistent.



3.1        Defining the Structure


In this section I describe the structure of the Pendulum and how system components interact with each other.


Position Level

The pendulum model has two Levels that accumulate the rates.  The Position Level represents the position of the bob.  I measure the Position Level in meters.  The Position Level (meters) accumulates Velocity (meters/second).  See exact equations below.



Velocity in the pendulum model is a Level and a Rate.  Velocity refers to the displacement of an object with  respect to time.  The units of measure of velocity is meters per second.  Velocity accumulates into the Position Level.



In order to have velocity there needs to be an accumulation of acceleration. Acceleration is the rate of change of velocity over time.   Acceleration is a ratio between velocity and time where  velocity (distance/time) / (time) = acceleration (distance/time square). The unit of measure of Acceleration in the pendulum model is meters per second squared.



Drag in my system refers to the air resistance that opposes the motion of the bob.  Drag forces act in a direction opposite to the bob.  The unit of measure of Drag is meters per second square.


Drag Time

Drag time is the reciprocal of the drag coefficient.  The drag coefficient is  a constant we might use to quantify the friction drag or resistance of the bob.  The drag time is a number which I define experimentally through trial and error to model the dependencies of drag on the shape, inclination and flow conditions of the bob.  I measure the Drag Time in seconds in my model.



Gravity refers to the net force earth exerts on an object in its vicinity.  The unit of measure for gravity is meters per second square.  I use the gravity constant of 9.7767 meters/sec2 which I derive during my observation of the pendulum model.


Gravitational Acceleration

Gravitational Acceleration refers to acceleration of an object as a result of the forces of gravityThe unit of measure of gravitational acceleration is meters per second square.



The angle refers to the angle the bob swings away from  the vertical or  equilibrium position.  In this case the angle is not in radians or degrees but in meters per meter (see below equation).



The length component in my system refers to the length of the string which connects the bob to the ceiling.  The length of the string is 2.413 meters.





Initial Position (meters) = 1 (meters)
Position (meters) = Position (meters) + Velocity (meters/sec) * dt (secs)

Velocity (meters/sec)

= Velocity (meters/sec) + Acceleration (meters/sec2) * dt (secs)

Length (meters)

= 2.413 (meters)

Drag Time (secs)

= 35 (secs)

Gravity (meters/sec2)

= 9.7767 (meters/sec2)

Angle (meters/meter) = Position (meters) / Length (meters)
Gravitational Acceleration (meters/sec2) = -Gravity (meters/sec2) * SIN (Angle) (meters/meter)
Acceleration (meters/sec2) = Gravitational Acceleration (meters/sec2) -  Drag (meters/sec2)
Drag (meters/sec2) = Velocity (meters/sec) / Drag Time (secs)
Solution Interval, dt (secs) = 0.01 (secs)

Runge Kutta 2 Integration Method



I set up my equations in iThink.  I ensure that my units of measure are consistent and then I run the model.  I notice the model exhibits decay of oscillations.  I am now ready to compare my model to the actual data I collect during my observation and measurement of the  actual pendulum.




Pendulum Model Behavior

Note: Equilibrium position = 0 meters.


4.         Compare the Model Behavior with Actual Data


I compare the behavior of the model to the actual data.  I run tests of the model at the three different displacements I originally displace the pendulum model during my experiments, 0.5m, 0.75m and 1.00m.  The results I get are not quite accurate to the actual data.  My next step is to measure the model through a process of trial and error.


5.         Measure the Model


I know that the two variables I can adjust in my attempt to match the actual data from my measurements are the solution interval (dt) and the drag time.


I use trial and error to derive a Drag Time that fits the pendulum I observe.  Through trial and error I find that a Drag Time of 35 seconds is a  good match for my model.


As I attempt to find a good approximation for my drag time I also reduce the dt.  I notice that as I decrease the dt I get more accuracy and a closer match to my actual data. 


Again through trial and error I find that a dt of 0.01 seconds is most appropriate for my model.  In theory we attempt to have a  dt that is as close to zero as possible.  As the dt decreases the smoother and more continuous the results are in my model.


Following a number of simulations I find that a Drag Time of 35 seconds and a dt of 0.01 seconds give me the closest results to the actual data.  I arrange my data in the table.




Actual Data

iThink Model Data


20 periods

1 period


20 periods

1 period





(meters/20 cycles)



(meters/20 cycles)























The iThink Model fits the actual data at a close approximation.



My measurements of the real pendulum and the results from the iThink model seem quite accurate.  During my experiments with the Drag Time I notice that at higher values for the drag times the results of the model are not quite  accurate particularly as the amplitude increases.


I discuss this issue with Ed.  Ed tells me that this is due to the fact that the Drag equation where Drag (meters/sec2) =  Velocity (meters/sec) / Drag Time (secs) is not totally accurate as there are more complexities to consider when measuring Drag.  This opens the possibility for further research and refinement of the Drag in Pendulum Model. 


I do not continue to research Drag and the Drag Coefficient further as this is beyond the scope of this paper.  I do not go through steps 6, Develop a More Accurate Model and 7, Compare the Models.


6. Conclusions


The pendulum model gives me good insights into the workings of second order negative feedback systems.  I learn that simple second order negative feedback systems exhibit oscillation with damping  and that the behavior of the pendulum model also applies to other real world systems.  I intend to research different systems that exhibit oscillations later in this series.


I also find that I learn much about physics particularly acceleration, velocity and position.


While developing the pendulum model I come across some of the important principles of system modeling, primarily the importance of consistent units of measure.  I also notice how important a small solution interval is in matching real world systems and ensuring that calculations are smooth and continuous. 


back to menu