|
改了一下,这次运算应该没啥问题了
2 L8 f$ }4 C/ J$ g/ x5 E+ C0 }4 p- \+ [
7 I; [1 Z, ^. Mcapture program drop hello
! d% Z6 {7 i4 v# Q7 ~" T+ w9 H; u8 ]5 ~0 Z( ?
program hello% u$ X8 u7 t% v* |# t
5 o& t5 H/ V& r7 I quietly {
5 j& U/ [$ r" B: N2 K
9 P3 d( V+ `: c8 ?( `' N) F5 Vclear+ {4 I) \% v* Z
% S$ e) R& k) q8 o& D, ^cd e:\finance\stock\20110101\source/ S! n8 W/ Z7 D
, F; v; t' H6 m: d# p4 P! ^* Dinsheet using `1'.txt5 o5 l4 y6 L( I: s) i1 W
+ P$ j% }7 Q% k1 }) _$ F: [
keep if v5>00 Q s8 R# O x. R8 |
, \6 M( y1 X- [" L' ?8 O" ~
gen vt=_n( k$ [" C' M) t3 K# ]
8 I/ F$ h4 j( G" Y
tsset vt3 F! j# N) E z# |; Q
2 x( S& H0 r7 X' m' S) ]
gen zf=D1.v5
1 G4 N5 U- F& M8 {+ y/ ?0 L. i9 r' y
5 ~0 x# I% S# _ gsort -v1
# @ E+ D, m6 t5 G# @7 K: C
1 J7 ]9 ?" h" s gen avol=v7/v5( P4 W0 ]7 ^( r. e S6 c7 H2 h
: O' x$ E, K' x. D, G* f
keep if avol>0( L4 y; E$ \7 z" ?3 k6 y" s
7 t6 S' Q. n% Y( }( W drop vt
) W" q; A7 @9 e. p1 l( o/ e' X
4 s( J4 h& X/ {- O( P9 O gen vt=_n7 w S2 k' k( e I" E, |! s
2 W5 ~2 R: }/ Y tsset vt
- q, b# I# R- A0 Z/ Q# H
5 b% g! k3 F: K1 v$ B: K sum v5 [aw =avol]3 i7 w' T+ ]: S5 z4 m
2 X- s; k- x( ^( i0 t
gen amean=r(mean) in 1
2 P. T* M6 r. _! w' p( g4 v$ k2 E
7 J. _& U! a. ?! M" ? * 总加权平均值 amean& q2 j9 n( m: Y. V% c( M3 H
1 j) P6 W0 \1 n: G8 {
0 C' o7 R9 ~( f$ Q& Z# q
keep in 1/240
( V9 ]2 y7 x1 B. N$ F
' V& }4 i1 X7 ~/ S2 X sum v5 [aw =avol]
( W8 T; E. O% p' g( i* k ^2 r4 [8 E$ v7 e: k- N! {+ L
gen mean240=r(mean) in 1
, X& c2 D. B0 g3 Q
) V/ A5 s7 }: p, O; T3 m4 k *240加权平均值 mean240
* x7 _# k9 E3 l0 q; A
0 [! y M7 y6 s f set obs 500 5 T+ Q) Q% ~. P* S
3 N9 g p. C9 H \+ d kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
6 I9 V4 \5 p2 Z" o) E, y R
0 ~2 Z1 p6 G4 d *240 kdensity(dx240 dy240)
1 U$ l/ J& q$ H2 n. z, v/ ]
+ V( Z6 K1 e" I( ]+ K1 } sum dy240
+ P- ]. p4 W! P, }$ y
R$ @% N9 \/ z9 L* Z# g6 s+ X% U gen yxis=r(max) in 1
! Z( c5 y8 X B0 I ) }5 D6 }- R& B t8 p+ x9 S7 v& E4 J
gen yxis2=yxis/2; ^% O0 B; p/ a o- J/ L
8 l" J9 r7 c: }! K! z! {+ j
*yxis- ]1 e. u5 o. h, n7 ?4 E$ b
9 E' Q4 i! T9 [, s; A) D* s. i# a
gen dy240max=r(max)% X3 o# j! l+ r- D/ h7 c! o6 p
9 [1 K1 [/ X! M c- y9 ?
gen dy240minp=r(min)& V8 \6 E, r: k/ |: |
& c3 x0 C% e6 H" p1 }) d, {2 z3 n' k3 a gen vtt=_n
- ~9 [2 e* D! t/ I& W6 n3 J4 G- v h2 l, k
tsset vtt
4 _, p' _6 T4 H- w
. ^2 Q. ?; y: U: K p gen ddy240=D1.dy240/D1.dx2409 A, `9 C, H# u0 X! H- d' U4 e/ L
% [/ d' T, Z8 Q7 s- r- _ sum ddy2403 h5 I6 p9 q0 W# H' ]
2 p8 a. K8 z* _* p& T- I4 M gen ddy240max=r(max)7 Z H$ q" V2 v! | n" ^" ]1 J0 `
: V2 o: D4 `& l/ U' H0 c) a gen ddy240min=r(min)2 H2 ? u) T1 I- ?- c" ^# f% i5 N
7 d# y9 M, L z% V2 y, ~ gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
0 Y# f/ o3 Z3 Z9 n. K
3 n7 ]! l! \$ w7 ?1 z sum ddy240g
& Y% ^- y4 f* c n; U* }
& n K, T( ?6 K. k gen yxis3=r(min) in 1
! z/ W+ t0 r; Y3 C) V9 u& ?
6 {, \* E: ] ~% U+ \7 A; b T gen yxis4=0 in 1/ j& |3 l# Z8 |8 A
- ]8 O2 J/ r" o' _
*ddy240g % l, F, G& n6 W6 } l1 ~
* @2 `& O0 {: [' c 7 z: _1 \ v6 b1 X0 G! B+ N
preserve
& ]6 h7 d3 \& j9 I* h7 y2 F n , i3 k" r% c) f
sum v5 [aw =avol]6 _% X4 ?% `" t9 u( K1 _
2 p m) W$ p5 g$ P. D9 \
keep if dx240<r(mean)
8 o8 P% j9 o: C) a, R 6 o1 h, A% l( K- O9 r
sum ddy2406 Q2 c" D, D6 o2 W
/ B) }2 ]" X; i) B$ |
if r(min)<0 {& B2 D% }8 P+ J% e3 X( f4 Q
! `& g5 F ^# S6 }7 s( ]7 q5 ^0 f; u
keep if ddy240<=0
/ ?& a, Q S' S' n7 s F" [1 L) t
Y+ Q4 |. F2 L( E# e+ X& } count. x- `- ~0 x! p- ?" U8 h4 N: A
! x) h% s* ^6 R; w b
if r(N)>2 {
9 Q' X" j. y) Y1 {& O! k* r& ^
6 D3 H2 T6 v% f0 U$ Q pkexamine dx240 dy240
; q: k4 x. f% g2 ?0 }3 T8 ^" ~( j
8 ?4 T' H; v2 S2 x# q local tempminp=r(tomc)! {* {) {3 w1 U: k8 V
restore
: B! D! T l/ p }4 F1 F4 X& c% L
3 F3 ^) N. [; P9 @/ g1 I
else {
! |, g8 f) z. s% E
1 E! Y8 Y! u; H2 \! G! F y di "cannot find minp"9 }! T5 W) P. G* C- N5 X
( j( P5 V6 m1 s6 Y4 E' s restore
* T9 X. L3 ~7 d+ o9 M3 ` sum dx240: u# u$ L: ?- O2 W$ O4 S
local tempminp=r(mean)
1 I+ L6 P4 r; w
8 n' H) Q# R! w* U3 E }
! r7 y9 o9 e4 P& P5 n2 j2 x4 C }, f( [! G1 }+ I9 _- `' R: {
else {3 V( ^# j, n- c2 V' s) B3 \( ~
* c5 r1 [3 t! J$ Q% l) \* e
keep if ddy240<=r(min) u5 l4 n( j5 R" z# c, ~, f% p
5 ~/ u" [& X& t# o sum dx240
; U G6 q. L; b
' A( U/ K! a& d$ ~- [ local tempminp=r(min)
- n& [; B0 e4 H' g6 K restore $ T1 @8 m% p4 g
}
* ~5 o$ Q5 q- a9 Y7 u" I& C9 L; m4 G# A7 T1 e) S
/ |* ?6 \4 C2 }3 e$ s
8 M; y# D5 g6 e) p8 `
gen minp=`tempminp' in 1
* L2 [0 [ e% c' Y1 l *240 minp( Z! U% S4 A/ j$ {, O# L8 `
. t" W8 R8 U0 d( l
2 k, a) h: E' ]- i# l7 \. f
* j% |* Q8 A/ E
preserve
' p3 |* b4 X x 7 ?) A3 _) q# e1 p( D6 J
sum v5 [aw =avol]7 g) L% T- u% f- h S S! W0 V/ R
7 x9 R! P% F- o/ ]; g keep if dx240>r(mean)3 R; a: a9 v' H& N" F
9 i1 G; g) j0 r; C+ V Q& A( J, S sum ddy240
9 S. ]! ]/ c0 n* L' P ; ]2 A! p# e; ~8 X, x( I* D/ J
if r(max)>0 {
" {, i- H: _' X0 Y* j! j 6 k( n! w) F9 m2 w7 G
keep if ddy240>=0
; N9 u5 N/ Z) }& l6 ~4 ]6 z, ]
4 H' H- n% t4 E, d+ T) E& J count
5 m, |0 ?+ P8 Z5 u/ R/ @( m! } ! j4 H* H, S1 }5 s* m, E
if r(N)>2 {
- C ]9 r" {) |4 C: F
" J! b. l7 G2 l* Y/ S pkexamine dx240 dy240* B& x1 d; b) G- \. i
/ w% K. j3 y& L7 b3 G( [ local tempmaxp=r(tomc) * N# {+ e$ |$ [4 s) Y6 F
restore
0 q& k7 w$ g, q5 T( G n }
- W8 i2 Q0 q7 c8 Q 0 M, Q9 b: C; C6 t6 b% C! u" G
% T% J# i& i+ E else {, Z4 g! A$ w( p) t$ _) T( f4 W
restore 8 }% w( `2 m0 R& V! [( e. K
di "cannot find maxp"
5 ^3 O/ B) {3 ^( f
, c; R3 W1 V; }) n+ h% f# S 3 r' A! C5 E2 k. O
sum dx240+ ~( r9 B {, E8 o; u
local tempmaxp=r(mean)/ W# Y. ?0 q4 X# x( E: O/ ]& S
/ j! u4 G& y% J: c
}
: v5 u+ a# f$ R- g \# j ; O: C2 W2 Y: f9 }6 ?0 o
}2 {6 G" G, C+ r) X9 H
' D# ~: {6 d3 x9 E- {1 Z" j, Y( a else {
6 W1 W) E& r9 A9 X 3 q) X I3 K& x1 _% C
keep if ddy240>=r(max)! y9 C/ D* L4 J' N3 U' Z9 I
9 G+ b* m4 J; p4 C( d0 u sum dx240; u$ \! n( K) n( h
7 a9 z& Y5 K2 N- J7 y; A( @- q+ ^
local tempmaxp=r(max)
3 K# T% ?( e4 F2 t. u restore 9 m* v( X$ i2 j: `
}
+ [, o7 T- F' _( P# @5 P0 |
. R+ S7 g0 ~$ b. T) k5 S3 F2 h% ^8 w2 h
# z9 \ n s& M
) n! G) ]" T, y) n0 ] gen maxp=`tempmaxp' in 15 z+ @: X+ v* u9 d0 C
; Q) n- m l3 y! |. F
*240maxp
8 Z& ~/ l+ n" L' L4 D0 Y
, }$ B+ r6 ?: e& v1 G y 8 O( [/ H Z' a2 u( ?; j
*-------------ddy240pminp左侧高峰值-----( T, W; p" d2 Q/ ^' _, t' j) A* \
* P3 y$ x4 n8 D: B" E
preserve $ ~ p5 T) K5 y6 K$ W
& H% |( I% m3 W" a% @8 e keep if dx240<`tempminp'5 f' W! |- s; ?- t
# E1 {& S9 \, q# K j+ t- U' M
keep if ddy240>0
! s- g! t* l! q; c: y
% K+ V/ L# Q0 ~5 B. _4 I; a, v- l count
3 Y$ u4 H( q7 m4 F. @. A
/ T' p! j5 l7 a- ]% ] if r(N)>2 {
' n l9 v4 s! Q1 p+ O" | 9 {4 v, r4 w0 l$ d# p! i7 D) F
pkexamine dx240 ddy240
8 V% d. A! J6 p1 f4 n' O. f 1 c+ [' ], d, _$ J
local tempminphddy240=r(tomc)
o+ |. O9 L5 y, {+ ~: w9 l" | restore5 Z/ q( C- Q" F* `
}
, z, w; }$ _7 z9 P! L6 N) ^3 y
. |; }! N. ~: R- |% i0 G% W% j- M else {. }2 B! a% @0 b' D9 [
restore
6 S# }& X" ~3 S% d8 s di "cannot find pminphddy240"7 r+ E+ T4 S# e* w4 E; w
5 Z" Q" O0 \; a5 R
9 F* y; {+ G6 c& K4 ]
sum dx240
" W( T, @- a8 T% W3 [. M local tempminphddy240=r(mean)
3 x7 u' N; e; m6 k1 P 2 k( L, b* x, I6 X: C$ `
/ E( e9 j: w v% k
}
% ^4 _* g7 z6 ]& d0 \8 E5 G
e3 @7 K/ D$ W$ c! m
& O8 l# x5 h+ ], Y2 O+ v7 a 2 W* Q5 k/ i. R
) J! |4 ~) }2 I# C; y
- x) O# ~/ ~) Q3 f7 e' l) h0 S/ O
" u4 v6 C F: p) s4 J4 ?: y5 `, z/ n ^ gen pminphddy240=`tempminphddy240' in 1
, q1 X# W& J' R1 |$ G" v 1 v% K, R7 z" d" J: f5 V
U( L( S# B2 P; E0 H( R* R% s) Q
*-------------ddy240pminp右侧低峰值 -----------------
) g* }2 e- Y8 d0 n* g3 r0 s preserve
! C7 u. {$ L! A9 l1 ^ ; x$ p) k. }' Z2 K* t: I1 T4 O
keep if dx240>`tempminp'1 Q4 [/ \. `3 n1 U# T
. F, ?0 |( r8 m8 h' o; o keep if dx240<`tempmaxp'
_* k' R3 ]& }7 S2 }6 p " P H1 P9 j; |6 F( q7 S h ]
keep if ddy240<08 m2 @: x5 Z8 }7 e$ y* n
5 }) w% |/ Y5 v2 W gen temddy240=-ddy240
6 N" c8 H+ b% n9 o
9 Z8 k/ Z- N; t3 V6 ^ count
% P' n) i% Z& {0 E5 c/ `7 `0 ` 7 Z; c) f8 v+ C* ?' o
if r(N)>2 {% h$ Y, ]6 g0 W h
M; X; L5 ?' | pkexamine dx240 temddy240
' q$ S3 L% ^' W* m # y B5 |" H: h- r6 C
local tempminplddy240=r(tomc)
' g; b+ C8 G: w1 |; T8 [! L9 W restore
+ A! A8 c- ?# n7 s+ c! f }
% K' M- z8 ?* _7 v+ d+ N4 w 3 c7 D! F! j; l6 A5 q
else {3 R0 p+ j" H8 A" F
0 d: f6 ^0 Q: H% ~5 p# j1 d
di "cannot find pminplddy240"
5 s5 F, ~4 R' t8 _; J* m restore L w/ E2 U6 o) _8 N, g9 q
; _& U% l3 J1 y3 C/ e M sum dx240
8 n) J- _! f( l: p. n local tempminplddy240=r(mean)& e$ |, i- J: T
! R9 ?; e: Y% Z& h4 @ : X# M, s: |4 f
}0 e: D6 L3 x4 ?7 z$ s/ `; s
9 Y/ o$ m2 d& d* J; j+ Q# {
% D; S( d9 H1 S }/ Z A) I/ a / g9 y( W% U- ~! T
2 p+ \4 O: |/ S$ s8 O" @/ E& V
, r" B0 q; {7 d1 \" x gen pminplddy240=`tempminplddy240' in 17 s7 N1 b$ a; o" [" r
6 y- t- Y9 y W; ]4 B) l *-------------ddy240pmaxp左侧高峰值 -------------------
* A0 R0 I6 m P! t% n
1 ^) s* h8 y {& Q$ z( q% E9 | preserve # T4 V9 H7 T; ]' I- C* a2 L0 q
7 Y; x% t# Y9 `3 d% h7 z) I
keep if dx240>`tempminp'
- G1 x: Z/ y( {/ q5 X5 E) o( L: k
: v' b- A# V& B* Q J) h. K0 x keep if dx240<`tempmaxp'
0 I5 J. ]# f% e: I3 Q+ c! F7 i
8 ]; K7 m9 [7 a! ^/ f; q keep if ddy240>0
( s+ f, Y S/ k( N, r6 T0 S. s count& a8 r, i4 V$ F: ^1 C
8 S* x% u8 T: V+ b# ~: q V
if r(N)>2 {
) H7 ^& h: p. m' ^5 r% Z
7 U4 ]+ i2 k/ _0 `+ B4 H! e" `. X pkexamine dx240 ddy2409 V% c# h! y+ W" t1 K( Q
: s2 O0 U' {1 J
local tempmaxphddy240=r(tomc) ' \8 ]/ ^4 r7 k9 l
, t! j/ s% s3 H% S5 x) D& m restore
$ v8 P3 o' Y5 r }
. N8 N) v5 O2 r& T1 n2 y( I% I / V) S- k; g. j0 i" k" p
else {
; K5 y. [% d U( ?: N8 A) i# a3 u6 O
; }$ x; \8 A% U; f: R2 `, k di "cannot find pmaxphddy240"
! T1 k: l* a b# i9 H! } restore# n: R# T& S2 f: ^
- x3 L$ y% |4 v: J sum dx240# I" L2 z# b# K
local tempmaxphddy240=r(mean) % S5 `7 c1 ]- y9 }/ I8 O& ^. E
& D" q4 l" K2 T) A: o# C
5 H& k$ g& Z9 U; } }& y7 {! U0 y5 Z9 @; J% x7 \5 u
" [4 y c& ?! `0 h1 W
. M6 D+ X6 `! w+ ?6 a1 @- j% t( ]. y/ b
2 V! c7 v: b0 [. Q. k. }
1 c$ ~( @3 W3 r2 q# \ ! `2 \! `5 k# y) B% |4 y
4 ^4 a3 J o0 a a d$ B& U gen pmaxphddy240=`tempmaxphddy240' in 1
2 J. F- r4 O+ H/ r7 B) q & r9 S. X- ^' f- b& `
& X! V% A7 ]8 r ` *-------------ddy240pmaxp右侧低峰值 -------------------- R$ d! }" G$ b8 l; L
: D% b& A- f* q F3 O preserve
- L/ L# s) M# d3 E$ b+ A+ \ 1 `9 r# ~1 d- W( u/ _" G1 c7 B
keep if dx240>`tempmaxp'
8 [: |. n2 J3 z: R6 _) F * [: Y, W# @. D! T0 r" I# V
gen temddy240=-ddy240
: p1 i$ W5 O5 p& V* _2 r , W @% t! b F' L
keep if temddy240>0
+ H- G9 D' m; G) i ( _# B5 H0 H, y! n6 ~! a
count" w: q; t* y6 U
# |* J E3 O. v3 L" K9 H/ @; S
if r(N)>2 {# L+ B9 ^) l& Q
6 K7 Z& a$ }( m& v3 D pkexamine dx240 temddy240
4 p; N7 h' g' } S/ G$ C: |6 C) E
" C8 q1 }; ?! j1 d6 l& V local tempmaxplddy240=r(tomc)
- f; ]2 _3 s" V: J% d, M( y9 K restore( _( B2 N: u( u* z; S
}
- m6 |7 Z( y6 `. X9 _
0 x2 ^; k+ G/ e7 L else {+ @) F! ?; B! B4 }3 M1 e! c
restore
) x' T' U! [! ?7 s9 _ di "cannot find pmaxlhddy240"
# p9 o0 H: n4 K2 L1 J
* S; _ e- b! u8 o7 y* j8 j2 v8 t3 k# } 9 ]$ a6 I1 t. s- z/ k/ C) m" k. L
sum dx2404 b9 x9 M; X9 a
local tempmaxplddy240=r(mean) in 1
. J# @4 v+ o* e. N6 V ) M2 V4 h+ ?' n) z% L4 r
* i0 F7 r) _( D0 } }
4 M1 l- D7 E5 N% C: T3 |; `
1 m% \' x! i/ C( b # I, v5 |: H8 w
7 `. K8 J4 v, I
0 E9 Q& A1 M$ w9 r
6 a7 K& V* y. X2 {+ R' M 5 K5 G, z: g$ ~5 d% B/ Q
gen pmaxplddy240=`tempmaxphddy240' in 1& j8 U9 }. j+ e1 b- z
% r/ r4 R. s# K% I7 T' P *-------------------------------------
% V; U' A: O" v8 R( @7 x0 u ; r! a; b1 m }: ~9 t( M1 _
gen price5d=v5 in 1/20) u$ \7 @5 ^+ @2 c4 x- F
0 x$ P; e! l# u7 S ^$ x5 @2 l gen price5yy=_n in 1/20* u, n3 @8 L9 H" {# l
! [, y0 @6 F" f$ |( D. _ gen price5y=price5yy*(dy240max-dy240min)/20 _4 A+ q% a% l# g) d. }3 d
( `4 `/ l: k7 K% E0 n0 n5 P$ t5 ^
*price5y &price5d6 {6 @& h/ n! X
# B! y" c" u1 d gen priceny=price5y in 1
- K& o8 X# i6 o- M+ t
7 Y# Q* E; b A! }. F7 O" o gen pricen=v5 in 1" q" L% j" O m( C) t
5 |# N9 K. e J. C% e
; J T6 {3 n8 ]+ E *priceny &pricen( f9 w) s( L8 Q$ S+ h
; H6 M5 J% V; l+ y+ D
# L4 i( ]6 P) h: ?: M8 r *-------------------------graph------------------
/ z9 T* ^3 r; ^, i- G' Z
1 P2 u& n1 P! m8 Y2 i9 j tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)$ h0 S- u* S$ ], V5 v9 f: b: |) m
' B( K$ h* s! B* ---------可选项目----------------------
" m; b+ N8 q8 a& m' j- E2 L, x3 Q4 q: D Q* X" K
}$ W8 |0 o6 o: d8 g; f
end
1 n0 Z# f I ` |
|