|
改了一下,这次运算应该没啥问题了; Y9 k j1 P5 T2 Z# g
5 q4 e9 x% S6 A* p
* D4 _1 O1 d0 X" w9 X' F; P' I
capture program drop hello. E3 t8 |/ r3 j# D5 f
: |! M9 W+ ]% Z$ I. R- hprogram hello
) k, c% m5 M5 r) b C6 ~9 ?5 `0 a
- u( Y/ D" E: ] u quietly {
) ]' P3 U% L3 |3 ?( O* s
4 {( p2 k2 l; }3 v @) e2 eclear
5 i2 _3 Y1 P$ v* I E( S! }
- B6 ~3 v2 O7 T) Gcd e:\finance\stock\20110101\source9 y, K- E, p" [8 i; d/ W
( O6 i' u+ @) U- J! {4 X# S
insheet using `1'.txt6 C- {) w* \/ a- l
( c+ x( Q; c1 `, x. L# Z2 ~; I
keep if v5>0( C* m l- d1 ^ E4 h
( K; X2 Q% U) s3 C6 Z
gen vt=_n
4 b/ t; V0 D; i" q: x
& I# k2 u) D# B tsset vt8 O/ ~6 H7 }& c, I
6 R; F* r! ~& i V4 D! w2 L gen zf=D1.v5& h7 h/ s& n/ a- O+ z J, l8 D
% h. M8 l6 [2 m7 N" z6 V" T
gsort -v1
& ?! K0 Z3 k2 j# r. Q( t" h! s2 b) l' J$ H' u
gen avol=v7/v56 I) X' r7 Q2 ^8 P' u7 R# m7 m
# N) E% P6 b2 ~9 G3 `4 G keep if avol>06 L4 Z7 W) P: m5 f' ^. g" z
0 P* ?! H% d* @ drop vt
+ P+ b6 k3 m4 n4 ]. _- G4 d * F2 ~0 h" E9 J) V0 L8 T, u8 H
gen vt=_n9 T% k+ U3 Y+ s5 T" }% N( @2 U. q/ ^
, H/ [! u) e3 |0 q( S6 W
tsset vt
0 ^2 y7 X0 o, x: Q
7 ^, O$ F6 G6 F: d( Y sum v5 [aw =avol]
, r# m1 D# b% u! ]4 ]5 e! P- _. M
gen amean=r(mean) in 11 P, h! H! H0 P; C R% u
5 d& w* y; k& \; h * 总加权平均值 amean( ]$ H7 I$ v- S) K/ C# w5 v+ s6 O
- p3 Y" E: Q$ M: ~! z
% D# q/ Q' G1 t" a& Z
keep in 1/240
. r; O: h( u2 \$ Z& I3 C5 \: w6 d s2 t( W$ s$ _9 x: E
sum v5 [aw =avol]
9 h+ p: T1 P* ^/ }
$ O3 Z% n/ `5 P$ N gen mean240=r(mean) in 1
2 @' U: K; C0 O3 z2 z) N4 J ' [4 i- z" {( @* Y2 F0 F
*240加权平均值 mean240
1 V8 B5 o" F; h1 m , F( J+ E, D; s8 t9 T0 @ Q
set obs 500 9 N9 d* E0 F, c7 m5 |8 Z
$ T7 b/ h. r' u7 `3 {7 E0 o
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
4 }/ ^8 @# o* R6 B! x7 C: E7 k
' T- J8 y( C- A3 N; {/ O *240 kdensity(dx240 dy240)
7 N6 X/ `6 T1 n$ {2 q1 A" }2 o 5 s; ^7 k8 P8 g. v/ K
sum dy240; j9 I# `* ? e
" t8 E, O- @, Q( f
gen yxis=r(max) in 1
, X. m9 V% m& z* J( {) r0 t O & _8 x X2 t* i8 Y3 O6 g
gen yxis2=yxis/2
5 U4 u' N1 j6 R9 a6 m
h7 d" j. c$ m. \2 c8 P *yxis+ Y4 }* @5 e" _$ E4 v
% g' \, S( F4 O6 T" t
gen dy240max=r(max)
7 m' o/ F5 a! @) c
/ E' J! b$ ~3 x6 g) r gen dy240minp=r(min), r, z0 M1 n- t- B
7 [; j! y+ M- t# f8 v gen vtt=_n
% G8 G" C) ?' p, p! [* P- D& [! y* p" U! K% ^. F
tsset vtt# {, E. H* O" K( l4 A/ p3 A2 b
" n, n" s$ [7 r+ I
gen ddy240=D1.dy240/D1.dx240
* g- `- P- G; f6 E8 h5 {
. F+ x2 }9 ]9 d5 I. {0 ]; h1 K$ @; Q sum ddy240. _& l+ y3 g% e$ z3 Y
% Q$ j8 _6 j/ d' m gen ddy240max=r(max)
% N8 y3 i" Z& o1 L- u, a
" J/ _, X( V4 x; O8 k$ T# V: V. y% x gen ddy240min=r(min)
1 O; H; K' s. b7 g2 |% U. E
3 g' L, t0 V( \* P- ?5 V gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
4 q) f& S. a$ X; @, F! @. c . Z' i% Q6 W8 L/ b" \+ }& }
sum ddy240g
- _6 y( x; c/ u6 ?" y$ C
5 p( `+ o' ]8 @' \* ] gen yxis3=r(min) in 1; E: l1 c* G: E8 h
( ]# K/ }3 U2 A( j+ _$ ~
gen yxis4=0 in 1
) m! b( a: C) z0 v3 F( a - p* Q) G( a5 q; W
*ddy240g # w0 V! G% { A1 ]2 \
' _& t; ]7 n; M, P) l . S9 W5 c$ K2 B/ {; B0 @: j- e
preserve 0 I. U$ l0 C- z! }4 w, _! E4 w
9 d$ t6 |' O/ j& p4 ]( B% s0 c9 d- b
sum v5 [aw =avol]
. Q* x" i U! N, H5 U' X 4 a! i9 E$ D2 f
keep if dx240<r(mean)
, [$ p% _7 k: u. n, h! z, { # H' C0 C5 g i! {3 |& L1 b
sum ddy240( B3 V/ Y5 W5 y' Z. r5 t9 v G0 k
/ b0 r5 E) g8 a' l, f
if r(min)<0 {
" C8 D+ q8 Z/ @. l, G/ G' u ! T" p- e; z- H M; H# X: V. p
keep if ddy240<=09 }( A* R7 i& z& k% }1 S) {. J) }
: Q; e2 x, C3 z# t. D g+ m1 H! H2 z% [ count* l; m. R9 A/ X
# n. C( G0 `- G5 A8 s! I
if r(N)>2 {
$ h {% _$ L Q" z
& T0 @. Z. o2 p" c6 ` pkexamine dx240 dy240
3 k; {1 L! r& Z4 U6 v6 w/ X3 g. I' q ' ?9 m5 f0 o/ Q
local tempminp=r(tomc)' X; l! I+ H; j9 o
restore + c% r6 ?! x9 n P) F+ F1 u
}4 N8 l! A! G! r: u! _ o
/ x$ a* q% H' y. I
else {* ?! E. [5 T: ~# M9 j8 c
c7 H/ N. ^8 i- j- z4 b
di "cannot find minp"0 [2 j! q: _' m. M/ s
, J9 p5 G9 H5 ?" @: d restore
" o/ _& n' `0 F: w& W sum dx240
" J3 ~* E: O) W$ B: F7 I4 `) z4 N# n local tempminp=r(mean)
# l+ O2 m) G( t. d) E7 d 1 A0 Z$ I3 H: @$ k8 J# C. Z& [
}
* h" g, _6 j5 B5 P( F" Q }" i* w" z- c3 S! g* r
else {" \+ v2 d/ h. v5 l) I* _9 l8 i* S( `7 D! h
u0 R& e4 F+ W# G$ V8 F: a( H
keep if ddy240<=r(min)
4 g3 K/ _5 e; d0 |) N 7 h9 ^- K; u* i: j0 ?
sum dx240
# \- x% A: H8 i' B
! j. ?, A/ I2 A. N local tempminp=r(min)
" [* s6 ]- q; Z, Z& @ restore ' u K$ ], [3 k
}9 ^9 \; l4 H" E2 y5 h: g5 ?
' T$ m7 B5 f3 y9 L" W; h- x+ q: l. D+ E3 I6 Y
& Z* C: c, g- f2 Z; i
gen minp=`tempminp' in 18 {( r. p) d l) s3 L9 A
*240 minp
$ r+ X/ x/ m& {- a3 @! k1 y1 f- i. ~' l0 {
* n& C- ` ^5 f8 \& h: z
6 R* `: V; k4 F1 L( S7 W" U preserve ' U: D( @% Q3 R0 V* F" ~
% H1 `9 Z# D, l8 o m1 @& h, e6 s sum v5 [aw =avol]$ o8 |: g' s0 T3 h. P
/ v: E. O* N+ q/ P$ m- E" s" f keep if dx240>r(mean)" f& h& k0 v# z1 i8 U% D" @
9 F$ Q5 t" _: I0 T1 E; t sum ddy240
# r; f2 ~3 \1 L8 U ( t! n2 n3 _# p! l& P, B
if r(max)>0 {
! w, Q& y4 K( C* t. D) t
$ ]8 \* v3 D8 I0 X& S5 s4 ? keep if ddy240>=0
3 ?) w# I& O" q; U/ V! [' m* ]: Q9 O " Y3 Z2 e- k# ]' ?
count
6 p: ]# _1 { _+ {8 i) s. p0 k 4 [0 ? E6 P+ N, ^8 Q% w% i
if r(N)>2 {
/ Z+ F3 q9 q" Y/ C6 p, Y
8 t7 s8 O9 q3 L% |9 N pkexamine dx240 dy240
6 X8 n/ J8 Z) c4 E6 Y, P7 N 0 G$ x- D; l6 W: O( x0 j6 k
local tempmaxp=r(tomc)
# x+ p3 Q: E8 c5 c6 s$ L/ z) h9 R restore " V+ m R& U) ?+ H/ m
}
' Q) R/ h. E& G
P5 _0 L% e" |! t/ L
Z1 d: v' Z% V( @" H" Z8 _ else {4 g# Q2 V; n) D2 n- B
restore * ?3 T a% f$ f& H( F3 n8 S5 e0 P
di "cannot find maxp"
S- W# l6 d0 o$ O- ]
/ c/ Q0 p1 E8 ], X / h, m) H. o3 b6 H' c, p/ h
sum dx240
" W% h' U4 l: _ local tempmaxp=r(mean)
# j5 N N$ k; N" o1 X, ]- ^( n5 G ( X/ c, ^+ F3 x
}7 F! a, T2 @4 }8 _! \! T1 U
+ p9 G$ ~4 h8 b9 V7 O }
% y' i0 u. X+ m% O* D1 P
& D+ r8 ~5 G7 e7 v7 q else {
: Q- ^2 H8 p- B0 R/ \( w ( E, F" N6 i4 I1 t- L
keep if ddy240>=r(max), j0 w* d2 ]* j( V
$ C7 W* `) ]1 I; n( d# } sum dx240
8 ^# x+ n6 b* @3 ]" S
4 ?1 r3 m: }+ D, | local tempmaxp=r(max) 2 ?$ y" ?% u4 I1 ~6 F' T- K
restore
~- ~, s5 \4 F/ @8 T4 [6 S }
2 [' M+ R1 ?; B
3 m1 i2 R) O) }0 B* o/ n
6 c+ i& i& f0 y! y6 t& k ) h1 o" n8 Y" I, _9 m; U2 N
+ Z; q4 L' W# i* i& ~
gen maxp=`tempmaxp' in 13 W' H/ x7 J) {7 @' s/ {
8 K, d/ I! F/ s0 M g *240maxp
% C+ ?( ~4 H) N; @4 W, O6 [
9 Y# }9 `4 j) u( f7 ^0 W5 j + N& C; ^7 s, x. p
*-------------ddy240pminp左侧高峰值-----
4 y. u# f0 |1 D( z! }
: `1 P/ g3 q! r. G preserve + U, Z$ b0 V l9 ?7 N# f
) ~) L1 N7 Y$ V; t& d* m6 v
keep if dx240<`tempminp'
! T( h+ J8 e& ^3 R2 X3 E : i9 r4 \' T( p- L, N6 A/ ]4 W: Q' y
keep if ddy240>0
0 X2 J7 _3 [7 j
4 \" y0 v9 H. s: c3 ` count' B) q4 E% B% K7 g+ T: h
2 W7 N$ @2 c; F% {- i, Y% o9 s. n
if r(N)>2 {
, V% [7 q2 H0 X7 U . V6 T. i- v; R, h3 W5 P
pkexamine dx240 ddy240
7 n& r2 _" _4 h4 V9 [
0 s, f8 W u% D4 K/ w. Q# [ local tempminphddy240=r(tomc) . A: o9 |( |9 m* R; k6 X* O' S
restore
# \) R @' Q* S }
' x7 b+ w8 s1 `2 D / |/ a$ A# }' r1 [5 G+ c+ X2 {- t
else {
7 r* n `7 a$ g! Y restore
1 b" q, a. j- L di "cannot find pminphddy240", m8 _% w" M: T% J5 n) [8 W
* `3 f, f& @4 Q: ]: @) r . i) U8 ~- S# z/ ^
sum dx240
/ z; b! r( Y9 {# ~& U" O1 B( D4 G local tempminphddy240=r(mean)
) j A6 |+ U$ _- Y& O; A ) ]% [! k, f5 V. M
/ S7 k, B/ Y/ Q7 H" t# _ }
4 H' i# E1 }- d9 b % S6 I6 L2 V9 b
8 P0 ~* Y0 N4 }! k% A* T( o, v
/ N* S# N% Z( p. s( O8 |% x, D
2 E! S% P" x3 o: e! i% y$ }
. z& I/ e, t9 V: ^' J, v
) R" g: \* K2 T6 r0 [) k$ Q gen pminphddy240=`tempminphddy240' in 1
1 w# _# G& B) O+ p2 B" c
0 Y) ?8 F9 t+ f9 Q; s
$ N" L+ s! Q& W *-------------ddy240pminp右侧低峰值 -----------------
% D. h: l6 h$ E; {! O: g; W/ w4 l3 B preserve + e3 g9 \& X9 ?. d2 U9 p8 \
' U2 E+ J) z! [: T$ ^ keep if dx240>`tempminp'4 R5 K7 l& E+ M9 v! Y* o% v
/ { d" ?, u* E$ J keep if dx240<`tempmaxp'
7 p$ K9 J7 R" j 7 u$ z5 ?2 k' ]( `0 |1 o
keep if ddy240<06 d9 j+ j) p8 |% C# n/ M2 ^# V
( P: K' P P& B! V/ t' p3 e
gen temddy240=-ddy240
7 [1 I- r; i$ J, m% g0 P8 @
6 r2 C- O; x( T4 o count
& i; {" f3 J5 D; R- d- r& ~ 7 U F' w5 b2 a a) r
if r(N)>2 {" k% R9 G* U, ^' r D+ J/ J2 R
& }7 ?: G" _" h0 D5 Q. W' d, Z
pkexamine dx240 temddy240
9 H% g, T" O$ ~ ; t' r0 i0 H( E1 x+ f M0 h
local tempminplddy240=r(tomc)
: }' i8 P/ [6 H0 X restore& ? W9 F0 b- k4 F% `
}
7 f- h Q9 d" s" X8 L7 |5 d ; a! m" a* B* W% X) ~( g1 a
else {2 C+ R4 ]) i0 S/ O8 {# t% J
" U% k2 b" k% ~& s" Y di "cannot find pminplddy240"
# W8 z& N7 e% v9 y restore; n! h& @* z4 W& ?
: i7 g/ ~3 @6 C+ g4 J7 z sum dx240" P$ ]! X) R8 s
local tempminplddy240=r(mean)
) \/ A0 q! _2 B2 d1 u5 P; c 3 x8 S5 r5 T( ]+ A3 S* _
# X4 g" \+ C, c$ |4 H, b, q p }6 g% h( t5 d* ]! }; c% G
2 m" r) A5 {3 K" `( G& }5 D & Z( Z( M1 C" d* p9 b
3 w/ l( K; S+ C( F0 C4 a) Z
. C6 h1 v! a5 e$ _, A
- F9 a4 I1 x& }/ I5 N/ O' c
gen pminplddy240=`tempminplddy240' in 14 f( p/ T+ z$ [' G. f8 n
; |" m3 \' o0 ^& } *-------------ddy240pmaxp左侧高峰值 -------------------
1 T3 _( F) X. P; y, N! J- M ' F5 W# p6 o5 h
preserve
( K+ U8 [+ b% b5 j u, w+ M
) N2 C) P3 n' A7 w4 \ keep if dx240>`tempminp': ]" @' w$ Q, v' `8 |
: ~% w! S8 I( A( ] keep if dx240<`tempmaxp'
# O, A( l; p5 p/ Q% m2 b2 e7 v ^/ N ; u0 o) p2 B8 i9 [. Z
keep if ddy240>0
, u) f' Y7 Y3 l1 J0 R6 D; T! z count" v) Q. _( s. ^0 S2 \ ?% ?4 {7 {
/ B; _6 |7 o: | if r(N)>2 {
! g. G, d. t% A& f: B9 A, [. o, C. _8 q * X, @! M4 Z& V3 z! `" H! u2 e. u
pkexamine dx240 ddy240
4 L* h+ ~4 W& o& x( {0 b & \1 v- [" d' B$ V5 F* A" a/ s
local tempmaxphddy240=r(tomc)
- h1 @9 }, {! y7 x2 j! v
# t# k5 o+ o% E5 f% s$ D% ] restore' c! Q1 ~! H/ J
}
: ~0 ~3 D) T# B! ?# x 1 [4 v3 T- [% u' v+ r7 J1 y4 s
else {, o2 X" L9 j% Q0 W( ]
3 d* o. c' W% B* y8 W
di "cannot find pmaxphddy240"4 a) a+ k! k# b" M1 u) B
restore
6 n% @! k7 W: p2 `) ~
0 E+ n1 p& A# k2 H sum dx240) P9 A$ A! S! @3 V
local tempmaxphddy240=r(mean)
5 L7 y8 Z. ?' e4 m
( s9 n: e9 X' M0 ]0 V4 v% N
; I! J, n5 z2 G' R" _+ n( e }% k: s/ B L- v
' ^3 P( v) K1 o" _ / K# P u" h/ n2 o
8 l4 E' ?( g T6 b9 P
1 |% [# m' M5 C, U( o( Q5 q
8 ^% _" v; _ x1 l
: j+ [" j0 D1 `1 p4 C
gen pmaxphddy240=`tempmaxphddy240' in 1
* ?6 R! m: w6 f/ U9 ^. O3 m
1 l# }! i+ i k9 A/ t% H
1 k$ {, R5 I# ?9 p( x5 m *-------------ddy240pmaxp右侧低峰值 -------------------
3 {$ V# R+ q7 H! T0 v4 c- n7 ~
: O' K& p; I$ n, P! V4 c preserve
0 d' v+ ]! }: f
5 M3 @( Y7 i. H( a& @9 m" ? keep if dx240>`tempmaxp'
: P) T3 w. E3 K8 R9 v+ X# h& J
5 E/ ?7 k1 o; K gen temddy240=-ddy240
% l5 @0 p# A. {5 u6 b + ~( u3 O# s( a; U) ?* k! P
keep if temddy240>03 V1 H, v6 g& e: _
7 T& z7 `2 w% D4 j$ q( C6 X count
; K0 V/ e1 b5 U0 v& }! L $ l( e+ s- o+ ]# g$ \- ?
if r(N)>2 {
# U% r2 Y i/ Y& x; {& v+ a
& U1 M/ u( B' k2 ^ pkexamine dx240 temddy240
3 r& ?. ^/ a$ V' L B& M1 c ) M% m# [5 y/ p- |' e- e& o9 `
local tempmaxplddy240=r(tomc) / W M' m/ ?1 {4 D$ R- D& x$ r }
restore
9 ? u" b) Z" {. ]3 ^ }* w2 Q% a4 V3 x! k* C* f+ L0 g0 p- R
1 ^/ h: S9 s% [: [ else {
; n7 |: ~, g8 A" f: B restore+ z% ?+ }2 K& e# e+ J
di "cannot find pmaxlhddy240"
, p9 R4 N9 \( t6 S' w5 @6 l
S. K7 d1 l6 v+ e
( d2 l6 f3 L- R/ g( Q sum dx2406 j$ m2 `* H. o: U% E
local tempmaxplddy240=r(mean) in 1
5 @+ E& u( U' _- X0 |8 `# D : f( p& ^, O; F5 B1 {1 K2 T
: @$ G3 X. s' F# s0 |
}
& F" m! z* O R4 f: g- n4 z $ X0 Q. ^/ D8 @6 R7 Y, G
. w6 e& Q5 b, t. @% U* Q4 Y9 ~) k
- `+ V; }" O; ^, d3 q5 B , c) S' ^) x5 L8 Z4 b+ o
( R. L; I) N' N4 F
5 ?4 S4 @5 X1 ~$ \) H" O; x+ D gen pmaxplddy240=`tempmaxphddy240' in 1 ^# [1 f$ g% A$ j/ E
" d/ P7 ^+ @2 y *-------------------------------------8 _, i' u2 O- \) F
( p% C( ?1 p. H$ Q; ? gen price5d=v5 in 1/202 M' E4 J( m1 z' l4 o6 v
1 _, k& ~$ b0 e) e* M/ g$ e$ ~
gen price5yy=_n in 1/20
# c- R$ J3 s0 Q& m
4 h" H8 N- C# r; x gen price5y=price5yy*(dy240max-dy240min)/204 \- H9 s5 s6 }( ~7 S# b
: \* Y0 |; t- s+ C8 q
*price5y &price5d
# b$ a' {& w& [& E, s* i/ i" k! t/ K7 Q2 V $ d" ]1 C) a8 C, ?
gen priceny=price5y in 1
& f' s0 a3 H6 c7 B, A- \7 J/ b
7 j/ Y7 b8 j9 I& q- y4 A; @. K gen pricen=v5 in 17 N( d. N9 Z! ~" M/ p9 q% T! K! _
/ r7 N3 T; T0 j* v5 E7 }
/ g0 y) D- N0 t' t O *priceny &pricen
' l2 V0 A+ i5 e) W/ B 7 g1 G0 Q3 x+ a
: I$ s3 R& {' C$ m' u *-------------------------graph------------------
' K5 c3 J% Q) t
9 E3 [2 k$ o/ c: f+ E3 ~' x' ] 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)& c$ L h9 c! b/ ~' M. g
+ y4 j; C( c- {) y
* ---------可选项目----------------------
* a7 L. K: ~) l1 R
) v$ G! N6 s n5 A}1 J) |, Q6 i/ }. {6 R1 u. A
end* R5 T2 ^' h& h! E: z k
|
|